1. Home
  2. Tehniline
  3. PHP
  4. PHP ajalimiit (max_execution_time, set_time_limit())

PHP ajalimiit (max_execution_time, set_time_limit())

Vaikimisi on PHP ajalimiit (max_execution_time) 30 sekundit. Tegemist on PHP skripti ajapiiranguga, kui mitu sekundit võib skript kasutada 100% koormusega protsessori (CPU) aega.

Vajadusel on võimalik ajalimiiti tõsta PHP skripti jaoks funktsiooniga  set_time_limit() või kasutades selle jaoks PHP konfiguratsioonifaili php.ini või .user.ini.

PHP skriptis funktsiooniga set_time_limit()

Lisada vajaliku faili algusesse või probleemi põhjustavad kohast ettepoole, funktsioon set_time_limit() vajaliku sekundite arvuga:

set_time_limit(60);

Globaalse php.ini või kataloogipõhiselt .user.ini failiga

max_execution_time = 60

Kasutades ajalimiidi suurendamise jaoks .ini faili, omab see muudatus globaalse php.ini puhul mõju kõikidele pea- ja alamdomeenide jaoks.
.user.ini fail mõjutab skripte, mis asuvad selle failiga samas kataloogis ja selle alamkataloogides.

NB!

.ini failiga ajalimiidi suurendamise puhul peab olema ettevaatlik, et see ei tooks kaasa negatiivset efekti, kui rakenduse mõni teine osa on aeglane või käib kauem kui 30 sekundit, mis võib suurema arvu külastajate puhul põhjustada PHP protsesside limiidi ületamise.

Kui PHP skript võtab lubatud limiidist rohkem protsessoriaega, tekib alljärgnevale sarnanev veateade:

PHP Fatal error:  Maximum execution time of 30 seconds exceeded in /data01/virt1234/domeenid/www.example.com/htdocs/index.php on line 5
PHP dokumentatsioon

PHP ajalimiidi jaoks omab mõju ainult PHP skripti töötlemise aeg. Väljaspool seda kuluvat aega (andmebaasipäringud, system/serveri päringud) selle hulka ei arvestata.
Nende hulka kuulub ka funktsioon sleep(), mille peale kuluv aeg ei lähe ajalimiidi jaoks arvesse.

Täpsemalt lugeda PHP dokumentatsioonist:
set_time_limit
max_execution_time

Juhend PHP konfiguratsioonifaili muutmiseks

Kuidas muuta php.ini faili

 

Updated on 7. nov. 2024
Was this article helpful?

Related Articles