Uhla lwemibhalo ye-athikili
Abaqalayo abaningi ekukhangiseni ku-inthanethi bahlangana nezikhathi ezinde zamakhasi e-PHP angenalutho lapho befunda ukwakha amawebhusayithi besebenzisa i-WordPress .
Bese kuvela umlayezo wephutha olandelayo:
Fatal error: Maximum execution time of 30 seconds exceeded in ......Kalula nje, kusho ukuthi isikhathi sokwenza i-PHP sidlula umkhawulo wesibili we-30.
UChen Weiliang wayeke wabhekana naleli phutha ngaphambili, futhi lesi sihloko sifingqa indlela yokulisingatha.
Lilungiswa kanjani iphutha?
Ngokuyisisekelo, kunezindlela ezi-3 zokusingatha leli phutha:
- Lungisa ifayela le-php lokucushwa le-php.ini
- Ukusebenzisa i-ini_set() umsebenzi
- Kusetshenziswa umsebenzi we-set_time_limit().
1) Guqula ifayela le-php lokucushwa le-php.ini
Thola ifayela le-php.ini futhi ulithole kuleli fayela:
max_execution_time = 30 ;
Kulo mugqa, setha inombolo engu-30 enani oyifunayo (ngemizuzwana).
Ingase futhi ilungiswe ngokuqondile ukuze ibe:
max_execution_time = 0; //无限制
Sicela uqaphele ukuthi udinga ukuqala kabusha iseva ye-Linux ngemva kokwenza izinguquko.
2) Sebenzisa i-ini_set() umsebenzi
Kwabachwepheshe bemidiya abasha abangakwazi ukuguqula i-php.ini , umsebenzi we-ini_set() ungasetshenziswa ukushintsha umkhawulo wesikhathi sokuqalisa esiphezulu.
Engeza ikhodi elandelayo phezulu kohlelo:
ini_set('max_execution_time','100');- Ukusetha okungenhla kuyimizuzwana eyi-100, ungaphinda ukusethe ku-0, okusho ukuthi akukhawulelwe esikhathini sokwenza.
3) Sebenzisa umsebenzi we-set_time_limit()
Phezulu kohlelo engeza:
set_time_limit(100);
- Lokhu kusho ukuthi isikhathi esiphezulu sokwenza sisethelwe kumasekhondi ayi-100.
- Yiqiniso, ipharamitha ingasethwa ku-0, okusho ukuthiokungenamkhawulo∞.
set_time_limit incazelo yomsebenzi:
void set_time_limit ( int $seconds )
Okwenziwa yilo msebenzi ukusetha isikhathi (ngemizuzwana) iskripthi esivunyelwe ukuthi sisebenze.
- Uma lesi silungiselelo seqiwa, iskripthi sizobuyisela iphutha elibi kakhulu.
- Okuzenzakalelayo amasekhondi angu-30, uma leli nani likhona, yinani elichazwe ku-max_execution_time ku-php.ini.
- Uma lo msebenzi ubizwa, i-set_time_limit() izoqala kabusha isibali sokuvala isikhathi ukusuka kuziro.
Ngamanye amazwi, uma isikhathi sokuvala sizenzakalela sibe imizuzwana engama-30, futhi uma iskripthi sisebenza imizuzwana engama-25, shayela ucingo.set_time_limit(20), iskripthi singasebenza isamba samasekhondi angu-45 ngaphambi kokuphela kwesikhathi.
Lokhu akusebenzi uma i-php isebenza ngemodi ephephile.
I-Safe Mode ingavalwa:
- KW
php.iniSetha i-safe_mode ukuthi ivale ku-. - noma ukushintsha
php.iniumkhawulo wesikhathi ngo.
set_time_limit Isibonelo
Uma i-Safe Mode ingavulwanga, isifaki sizosebenza imizuzwana engu-25.
I-E.g:
<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}Ngethemba ukuthi isihloko esithi "Ukuxazulula iphutha le-PHP 'Isikhathi esiphezulu sokwenziwa kwemizuzwana engama-30 sidlulile'" esabiwe kubhulogi likaChen Weiliang ( https://www.chenweiliang.com/ ) sizokusiza.
Zizwe ukhululekile ukwabelana ngalesi sixhumanisi sendatshana: https://www.chenweiliang.com/cwl-1481.html
