Straipsnių katalogas
Daugelis pradedančiųjų internetinės rinkodaros srityje, mokydamiesi kurti svetaines naudodami „WordPress“ , susiduria su ilgais tuščių PHP puslapių laikotarpiais .
Tada pasirodo toks klaidos pranešimas:
Fatal error: Maximum execution time of 30 seconds exceeded in ......Paprasčiausiai tai reiškia, kad PHP vykdymo laikas viršija 30 sekundžių ribą.
Chen Weiliangas jau anksčiau buvo susidūręs su šia klaida, ir šiame straipsnyje apibendrinama, kaip ją ištaisyti.
Kaip ištaisyti klaidą?
Iš esmės yra 3 būdai, kaip išspręsti šią klaidą:
- Pakeiskite php konfigūracijos failą php.ini failą
- Naudojant ini_set() funkciją
- Naudokite funkciją set_time_limit().
1) Pakeiskite php konfigūracijos failą php.ini failą
Raskite failą php.ini ir raskite jį šiame faile:
max_execution_time = 30 ;
Šioje eilutėje nustatykite skaičių 30 į norimą reikšmę (sekundėmis).
Jis taip pat gali būti tiesiogiai pakeistas į:
max_execution_time = 0; //无限制
Atminkite, kad atlikus pakeitimus, reikia paleisti „Linux“ serverį iš naujo.
2) Naudokite funkciją ini_set().
Naujosios žiniasklaidos profesionalams , kurie negali modifikuoti php.ini failo , ini_set() funkcija gali būti naudojama norint pakeisti maksimalų vykdymo laiką.
Programos viršuje pridėkite šį kodą:
ini_set('max_execution_time','100');- Aukščiau pateiktas nustatymas yra 100 sekundžių, taip pat galite nustatyti jį į 0, o tai reiškia, kad neapsiribojama vykdymo laiku.
3) Naudokite funkciją set_time_limit().
Programos viršuje pridėkite:
set_time_limit(100);
- Tai reiškia, kad didžiausias vykdymo laikas yra 100 sekundžių.
- Žinoma, parametras taip pat gali būti nustatytas į 0, o tai reiškianeribotas∞.
set_time_limit funkcijos aprašymas:
void set_time_limit ( int $seconds )
Ši funkcija nustato laiką (sekundėmis), per kurį leidžiama paleisti scenarijų.
- Jei šis parametras bus viršytas, scenarijus pateiks mirtiną klaidą.
- Numatytoji vertė yra 30 sekundžių, jei ši reikšmė yra, tai yra vertė, apibrėžta php.ini laukelyje max_execution_time.
- Kai ši funkcija iškviečiama, set_time_limit() iš naujo paleis skirtojo laiko skaitiklį nuo nulio.
Kitaip tariant, jei numatytasis laikas yra 30 sekundžių, o scenarijus veikia 25 sekundes, skambinkiteset_time_limit(20), scenarijus gali veikti iš viso 45 sekundes prieš pasibaigiant laikui.
Tai neveikia, kai php veikia saugiuoju režimu.
Saugųjį režimą galima išjungti:
- 在
php.iniIšjunkite saugųjį režimą . - arba pakeisti
php.inilaiko limitas .
set_time_limit pavyzdys
Jei saugusis režimas neįjungtas, diegimo programa veiks 25 sekundes.
E.g .:
<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}Tikiuosi, kad jums bus naudingas straipsnis „PHP klaidos „Viršytas maksimalus vykdymo laikas 30 sekundžių“ sprendimas“, kuriuo pasidalinta Chen Weiliang tinklaraštyje ( https://www.chenweiliang.com/ ).
Nedvejodami pasidalinkite šio straipsnio nuoroda: https://www.chenweiliang.com/cwl-1481.html
