Articulu Directory
Parechji principianti in u marketing in linea scontranu longhi periodi di pagine PHP bianche quandu amparanu à custruisce siti web cù WordPress .
Allora u seguente missaghju d'errore appare:
Fatal error: Maximum execution time of 30 seconds exceeded in ......Bastamente, significa chì u tempu d'esekzione PHP supera u limitu di 30 seconde.
Chen Weiliang avia digià scontru questu errore, è questu articulu riassume cumu gestisce lu.
Cumu riparà l'errore?
In fondu, ci sò 3 manere di trattà stu errore:
- Mudificà u schedariu di cunfigurazione php file php.ini
- Utilizendu a funzione ini_set().
- Aduprate a funzione set_time_limit().
1) Mudificà u schedariu di cunfigurazione php file php.ini
Truvate u schedariu php.ini è truvate in questu schedariu:
max_execution_time = 30 ;
In questa linea, stabilisce u numeru 30 à u valore desideratu (in seconde).
Pò esse ancu mudificatu direttamente à:
max_execution_time = 0; //无限制
Nota chì avete bisognu di riavvià u servitore Linux dopu avè fattu i cambiamenti.
2) Aduprate a funzione ini_set().
Per i prufessiunali di i novi media chì ùn ponu micca mudificà php.ini , a funzione ini_set() pò esse aduprata per cambià u limite di tempu massimu d'esecuzione.
Aghjunghjite u codice seguente à a cima di u prugramma:
ini_set('max_execution_time','100');- U paràmetru di sopra hè 100 seconde, pudete ancu stabilisce à 0, chì significa micca limitatu à u tempu di esecuzione.
3) Aduprate a funzione set_time_limit().
À a cima di u prugramma aghjunghje:
set_time_limit(100);
- Questu significa chì u tempu massimu di esecuzione hè stabilitu à 100 seconde.
- Di sicuru, u paràmetru pò ancu esse stabilitu à 0, chì significaillimitatu∞.
Descrizzione di a funzione set_time_limit:
void set_time_limit ( int $seconds )
Ciò chì face sta funzione hè di stabilisce u tempu (in seconde) chì u script hè permessu di eseguisce.
- Se stu paràmetru hè superatu, u script torna un errore fatale.
- U predeterminatu hè 30 seconde, se stu valore esiste, hè u valore definitu in max_execution_time in php.ini.
- Quandu sta funzione hè chjamata, set_time_limit() riavviarà u contatore di timeout da zero.
In altre parolle, se u timeout predeterminatu à 30 seconde, è quandu u script corre per 25 seconde, chjamateset_time_limit(20), u script pò eseguisce per un totale di 45 seconde prima di time out.
Questu ùn funziona micca quandu php hè in esecuzione in modu sicuru.
U Modu Safe pò esse disattivatu:
- in
php.iniImpostate safe_mode su off in . - o cambià
php.inilimitu di tempu in.
set_time_limit Istanza
Se u Modu Safe ùn hè micca attivatu, l'installatore eseguirà per 25 seconde.
P.e.:
<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}Speremu chì l'articulu "Risoluzione di l'errore PHP 'Tempu d'esecuzione massimu di 30 secondi superatu'" spartutu nant'à u blog di Chen Weiliang ( https://www.chenweiliang.com/ ) vi serà utile.
Sentitevi liberi di sparte u ligame di questu articulu: https://www.chenweiliang.com/cwl-1481.html
