Xazulula iphutha elenziwa i-php ukuthi Isikhathi esiphezulu sokwenza samasekhondi angu-30 sidluliwe

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:

  1. Lungisa ifayela le-php lokucushwa le-php.ini
  2. Ukusebenzisa i-ini_set() umsebenzi
  3. 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:

  • KWphp.iniSetha i-safe_mode ukuthi ivale ku-.
  • noma ukushintshaphp.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);
}

发表 评论

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

Skrolela Top