Sto scaricando un file JSON da una fonte online e e quando scorre attraverso il ciclo, ricevo questo errore:
Errore irreversibile: tempo di esecuzione massimo di 30 secondi superato in C: \ wamp \ www \ temp \ fetch.php sulla riga 24
Sto scaricando un file JSON da una fonte online e e quando scorre attraverso il ciclo, ricevo questo errore:
Errore irreversibile: tempo di esecuzione massimo di 30 secondi superato in C: \ wamp \ www \ temp \ fetch.php sulla riga 24
Risposte:
Il tuo loop potrebbe essere infinito. In caso contrario, è possibile prolungare il tempo massimo di esecuzione in questo modo:
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
e
set_time_limit(300);
può essere utilizzato per estendere temporaneamente il limite di tempo.
Ho avuto lo stesso problema e risolto modificando il valore per il parametro max_execution_time
in php.ini
, in questo modo:
max_execution_time = 360 ; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE)
max_input_time = 120 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB by default)
Spero che questo possa aiutarti.
php.ini
può essere trovato in /etc/php5/apache2/php.ini
.... Sto usando Ubuntu 13.04 ...
Tutte le risposte sopra sono corrette, ma uso un modo semplice per evitarlo in alcuni casi.
Metti questo comando all'inizio del tuo script:
set_time_limit(0);
Ho riscontrato questo problema durante l'aggiornamento a WordPress 4.0 . Per impostazione predefinita, WordPress limita il tempo massimo di esecuzione a 30 secondi.
Aggiungi il seguente codice al tuo file .htaccess nella directory principale dell'installazione di WordPress per ignorare l'impostazione predefinita.
php_value max_execution_time 300 //where 300 = 300 seconds = 5 minutes
Modifica php.ini
Trova questa linea:
max_execution_time
Cambia il suo valore in 300:
max_execution_time = 300
300 indica 5 minuti di tempo di esecuzione per la richiesta http.
La tua sceneggiatura sta scadendo. Dai un'occhiata alla funzione set_time_limit () per aumentare il tempo di esecuzione. O profila lo script per renderlo più veloce :)
se tutto quanto sopra non ha funzionato per te, aggiungi un .htaccess
file alla directory in cui si trova lo script e inseriscilo all'interno
<IfModule mod_php5.c>
php_value post_max_size 200M
php_value upload_max_filesize 200M
php_value memory_limit 300M
php_value max_execution_time 259200
php_value max_input_time 259200
php_value session.gc_maxlifetime 1200
</IfModule>
questo è il modo in cui ho risolto il mio problema, ini_set('max_execution_time', 86400);
né set_time_limit(86400)
risolto il mio problema, ma il metodo .htaccess l'ha fatto.
Puoi rimuovere la restrizione impostandola su zero aggiungendo questa riga nella parte superiore dello script:
<?php ini_set('max_execution_time', 0); ?>
Segui il percorso /etc/php5(your php version)/apache2/php.ini
.
Aprilo e imposta il valore su max_execution_time
quello desiderato.
Forse controlla qualsiasi cosa tu abbia cambiato nel file php.ini. Ad esempio, ho modificato "; intl.default_locale =" in "; intl.default_locale = en_utf8" per abilitare l '"Estensione di internazionalizzazione (Intl)" senza aggiungere "extension = php_intl.dll", quindi si è verificato lo stesso errore. Quindi suggerisco di verificare errori simili.
Aumenta il tempo di esecuzione dello script aggiungendo la seguente riga all'inizio dello script PHP.
ini_set('max_execution_time', 120); //120 seconds = 2 minutes
Il riferimento è tratto da Aumentare il tempo di esecuzione dello script PHP
Per estendere il max_execution_time
tuo puoi usare ini_set
o set_time_limit
.
// Set maximum execution time to 10 seconds this way
ini_set('max_execution_time', 10);
// or this way
set_time_limit(10);
sleep(2);
ini_set('max_execution_time', 5);
register_shutdown_function(function(){
var_dump(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']);
});
for(;;);
//
// var_dump outputs float(7.1981489658356)
//
quindi, se si desidera impostare il tempo esatto massimo per l'esecuzione dello script, il comando deve essere il primo.
Le differenze tra queste due funzioni sono
set_time_limit
non restituisce informazioni se ha avuto esito positivo ma genererà un avviso in caso di errore.ini_set
restituisce il valore precedente in caso di successo o false in caso di errore senza alcun avviso / erroreHo lo stesso problema nel sito WordPress, l'ho aggiunto nel file .htaccess e poi funziona bene per me.
php_value max_execution_time 6000000
Ho apportato alcune modifiche nel mio caso in: xampp \ phpMyAdmin \ libraries \ config.default.php
ho cercato: $cfg['ExecTimeLimit']
e modifica il valore a destra ...
Puoi modificare il valore della mano destra su qualsiasi valore più alto, come "5000". e funziona.