Risolve l'errore chì php richiede Tempu massimu di esecuzione di 30 seconde superatu

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:

  1. Mudificà u schedariu di cunfigurazione php file php.ini
  2. Utilizendu a funzione ini_set().
  3. 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:

  • inphp.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);
}

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Libru di Top