2013-04-02 9 views
5

Attualmente ho un problema con GoDaddy e il suo hosting. Il tempo massimo consentito per l'esecuzione di uno script PHP è impostato su 120 secondi = 2 minuti.PHP Refresh Pagina

A volte quando eseguo il mio script, sono necessari più di 120 secondi e talvolta occorrono 30 secondi.

Quando sono necessari più di 120 secondi, viene visualizzato il numero Internal Server Error (500).

La domanda che ho è, è possibile capire se un tempo di esecuzione dello script è a 110 secondi e quindi aggiornare la pagina in modo che non si verifichi l'errore interno del server.

+1

Non puoi usare 'set_time_limit()'? – kero

+0

Si potrebbe essere in grado di fare qualcosa con 'microtime();' ma per quanto riguarda il refresh non ne ho idea. – lemondrop

+0

@kingkero, che dovrebbe solo impostare il limite di tempo. Ho bisogno di sapere se il limite di tempo è raggiunto e se lo è, ho bisogno di aggiornare la pagina. –

risposta

2

Se ciò che sta causando l'esecuzione dello script a lungo è una sorta di funzione di blocco autonomo (come una query di database), quindi si è un po 'fregati.

In caso contrario, dite di essere in un ciclo molto grande, quindi fate semplicemente i conti a voi stessi.

Proprio all'inizio dello script, risparmiare il tempo corrente: $t_start = time();

Poi nella parte superiore del vostro ciclo, fare un $runtime = time() - $t_start; allora avete da quanto tempo siete stati in esecuzione, e può utilizzare che per rompere il vostro loop con grazia se si avvicina al limite di 120.