Tatua hitilafu ambayo php inakuomba Muda wa juu zaidi wa utekelezaji wa sekunde 30 upitishwe

mengi yaUuzaji wa mtandaokujifunza noviceJengo la tovuti ya WordPress, ukurasa wa PHP ni tupu kwa muda mrefu.

Kisha ujumbe wa makosa unaofuata unaonekana:

Fatal error: Maximum execution time of 30 seconds exceeded in ......

Kwa urahisi, inamaanisha kuwa wakati wa utekelezaji wa PHP unazidi kikomo cha sekunde 30.

Chen WeiliangHitilafu hii pia imekumbwa hapo awali, na makala haya yanatoa muhtasari wa mbinu ya kushughulikia makosa.

Jinsi ya kurekebisha kosa?

Kimsingi, kuna njia 3 za kushughulikia kosa hili:

  1. Rekebisha faili ya usanidi wa php php.ini
  2. Kwa kutumia ini_set() kitendakazi
  3. Tumia set_time_limit() kitendakazi

1) Rekebisha faili ya usanidi wa php php.ini faili

Tafuta faili ya php.ini na uipate katika faili hii:

max_execution_time = 30 ;

Katika mstari huu, weka nambari 30 kwa thamani inayotakiwa (kwa sekunde).

Inaweza pia kubadilishwa moja kwa moja kuwa:

max_execution_time = 0; //无限制

Kumbuka kuwa kuwasha upya inahitajika baada ya marekebishoLinuxseva.

2) Tumia kazi ya ini_set()

Kwa wale ambao hawawezi kurekebisha php.inimedia mpyaWatu, wanaweza kutumia ini_set() chaguo la kukokotoa kubadilisha muda wa juu zaidi wa utekelezaji.

Ongeza nambari ifuatayo juu ya programu:

ini_set('max_execution_time','100');
  • Mpangilio hapo juu ni sekunde 100, unaweza pia kuiweka 0, ambayo inamaanisha sio mdogo kwa muda wa utekelezaji.

3) Tumia set_time_limit() kazi

Juu ya programu ongeza:

set_time_limit(100);
  • Hii inamaanisha kuwa muda wa juu zaidi wa utekelezaji umewekwa kuwa sekunde 100.
  • Bila shaka, parameter inaweza pia kuweka 0, ambayo ina maanaisiyo na kikomo∞.

Maelezo ya set_time_limit kitendakazi:

void set_time_limit ( int $seconds )

Kitendaji hiki hufanya ni kuweka muda (kwa sekunde) ambao hati inaruhusiwa kufanya kazi.

  • Mpangilio huu ukipitwa, hati italeta hitilafu mbaya.
  • Chaguo-msingi ni sekunde 30, ikiwa thamani hii ipo, ni thamani iliyofafanuliwa katika max_execution_time katika php.ini.
  • Chaguo hili la kukokotoa linapoitwa, set_time_limit() itawasha upya kihesabu kuisha kutoka sifuri.

Kwa maneno mengine, ikiwa muda wa kuisha utabadilika kuwa sekunde 30, na wakati hati inakwenda kwa sekunde 25, piga simu.set_time_limit(20), hati inaweza kukimbia kwa jumla ya sekunde 45 kabla ya kuisha muda.

Hii haifanyi kazi wakati php inafanya kazi katika hali salama.

Hali salama inaweza kuzimwa:

  • katikaphp.iniWeka safe_mode kuzima katika .
  • au kubadiliphp.inikikomo cha muda katika.

kuweka_kikomo_cha_muda Mfano

Ikiwa Hali Salama haijawashwa, kisakinishi kitaendesha kwa sekunde 25.

Mfano:

<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) ilishirikiwa "Kutatua Hitilafu ya Muda wa Juu zaidi wa Utekelezaji wa sekunde 30 uliozidishwa katika PHP", ambayo ni muhimu kwako.

Karibu kushiriki kiungo cha makala hii:https://www.chenweiliang.com/cwl-1481.html

Karibu kwenye chaneli ya Telegramu ya blogu ya Chen Weiliang ili kupata masasisho mapya zaidi!

🔔 Kuwa wa kwanza kupata "Mwongozo wa Matumizi ya Zana ya AI ya Uuzaji wa Maudhui ya ChatGPT" katika saraka ya juu ya kituo! 🌟
📚 Mwongozo huu una thamani kubwa, 🌟Hii ni fursa adimu, usiikose! ⏰⌛💨
Share na like ukipenda!
Kushiriki kwako na kupenda kwako ndio motisha yetu inayoendelea!

 

发表 评论

Anwani yako ya barua pepe haitachapishwa. 必填 项 已 用 * 标注

tembeza juu