Çewtiya ku php daxwaz dike çareser bikin Dema herî zêde ya darvekirinê ya 30 çirkeyan derbas bû

zêdeKirrûbirra ÎnternetêNûbihar hîn dibinMalpera WordPressDi vê demê de, rûpela PHP-ê demek dirêj vala dimîne.

Dûv re peyama xeletiya jêrîn xuya dibe:

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

Pir bi hêsanî, ev tê vê wateyê ku dema darvekirina PHP-ê ji sînorê 30 duyemîn derbas dibe.

Chen WeiliangEz berê rastî vê xeletiyê hatim, û ev gotar rêbaza birêvebirina xeletiyê kurt dike.

Meriv çawa xeletiyê çareser dike?

Di bingeh de, 3 awayan hene ku meriv vê xeletiyê bigire:

  1. Pelê veavakirina php pelê php.ini biguherînin
  2. Fonksiyona ini_set() bikar bînin
  3. Fonksiyona set_time_limit() bikar bînin

1) Pelê veavakirina php pelê php.ini biguherînin

Pelê php.ini bibînin û di vê pelê de bibînin:

max_execution_time = 30 ;

Di vê rêzê de, hejmara 30-ê di nav saniyan de nirxa xwestî saz bikin.

Ew jî rasterast dikare were guheztin:

max_execution_time = 0; //无限制

Ji kerema xwe not bikin ku hûn hewce ne ku piştî guheztinê ji nû ve bidin destpêkirinLinuxserver.

2) Fonksiyona ini_set() bikar bînin

Ji bo yên ku nikarin php.ini biguherîninmedya nûHûn dikarin fonksiyona ini_set() bikar bînin da ku sînorê dema darvekirinê ya herî zêde biguhezînin.

Koda jêrîn li jorê bernameyê zêde bikin:

ini_set('max_execution_time','100');
  • Mîhenga jorîn 100 saniye ye, hûn dikarin wê jî li ser 0-ê bicîh bikin, ku tê vê wateyê ku ew bi dema darvekirinê re sînordar nabe.

3) Fonksiyona set_time_limit() bikar bînin

Li serê bernameyê lê zêde bike:

set_time_limit(100);
  • Ev tê wê wateyê ku dema darvekirinê ya herî zêde 100 saniye ye.
  • Bê guman, parametre dikare 0 jî were danîn, ku tê vê wateyêbêsînor∞.

Danasîna fonksiyona set_time_limit:

void set_time_limit ( int $seconds )

Fonksiyona vê fonksiyonê ev e ku dema di saniyeyan de destnîşan dike ku destûr tê dayîn ku skrîpt were xebitandin.

  • Ger ev mîheng derbas bibe, skrîpt xeletiyek kujer vedigerîne.
  • Nirxa xwerû 30 çirk e, heke ev nirx hebe, ew nirxa ku di max_execution_time de di php.ini de hatî destnîşan kirin e.
  • Dema ku ev fonksiyon were gazî kirin, set_time_limit() dê jimarvana wextê ji sifirê ji nû ve bide destpêkirin.

Bi gotinek din, heke dema wextê 30 çirkeyan be, û dema ku skrîpt 25 çirkeyan dimeşe, bangset_time_limit(20), skrîpt dikare bi tevahî 45 saniyeyan berî ku dem biqede.

Dema ku php di moda ewle de dixebite ev taybetmendî naxebite.

Moda ewle dikare were veqetandin:

  • php.iniSafe_mode ji bo neçalakkirinê saz bike.
  • an jî guhertinphp.inisînorê demê li.

set_time_limit Nûçe

Ger moda ewle neyê veguheztin, sazker dê 25 çirkeyan bixebite.

Mînak:

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

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) parve kir "Çareserkirina php prompt Dema herî zêde ya darvekirinê ya 30 çirkeyan ji xeletiyê derbas bû", ku dê ji we re bibe alîkar.

Bi xêr hatî bo parvekirina girêdana vê gotarê:https://www.chenweiliang.com/cwl-1481.html

Hûn bi xêr hatin kanala Telegramê ya bloga Chen Weiliang da ku nûvekirinên herî dawî bistînin!

🔔 Bibin yê yekem ku di pelrêça jorîn a kanalê de "Rêbernameya Bikaranîna Amûra AI-ya Kirrûbirra Naveroka ChatGPT" ya bi qîmet bistîne! 🌟
📚 Ev rêber nirxek pir mezin dihewîne, 🌟Ev derfetek kêm e, wê ji dest nede! ⏰⌛💨
Heke hûn hez dikin parve bikin û hez bikin!
Parvekirin û ecibandinên we motîvasyona meya domdar e!

 

评论

Navnîşana e-nameya we nayê weşandin. Zeviyên pêdivî têne bikar anîn * Awanasî

li jor bigerin