problema con il timeout

peppepegasus

Utente Attivo
20 Ott 2006
108
0
0
ciao,

ho un problema di risolvere ma non so da dove iniziare. Cerco di spiegare il più semplicemente:
ho realizzato uno script php che va in una directory, legge i file contenuti in essa e confronta ogni nomefile con i dati presenti in una tabella (che raccoglie i dati relativi ai file elaborati) di un database mysql. se il file non viene incontrato nella tabella viene elaborato. Il file viene dunque aperto e letto riga per riga, così i dati vengono poi immessi in un'altra tabella del database.
Il problema è questo. I file in questione sono molti e ciascun file contiene molte righe, quindi accade che dopo un certo tempo lo script si ferma senza terminare il caricamento della pagina e rimangono ancora dei file da elaborare! Da alcune prove ho capito che viene superato il max execution time e in locale ho aumentato questo tempo in php.ini e il problema è risolto. Mentre sul server, dove non posso modificare quel parametro, devo trovare un'altra soluzione..Non so da dove iniziare..qualcuno mi può dare un aiuto?? grazie.
 
Puoi provare ad usare la funzione set_time_limit, ma non è sicuro che sul server funzioni. Alternativamente puoi elaborare un numero limitato di file alla volta. Procederai così: ad ogni esecuzione salvi in una sessione il numero di file elaborati e aggiorni la pagina, quindi a quella successiva ricominci da dove avevi lasciato.
 
ciao,

ho provato ora il time set limit come dici tu e pre che funziona. farò qualche altra prova per verificare che il tutto funzioni.
grazie mille.
ciao.
 
il timeout può essere anche completamente disabilitato:
PHP:
set_time_limit(0);
 

Discussioni simili