A maximum_execution_time hiba akkor fordul elő PHP-ben, ha egy script futása túllépi a beállított maximális időkorlátot. Ez jellemzően 30 másodperc, de szervertől és beállításoktól függően eltérhet. Mit tehetünk, ha ez a hiba akadályozza az oldalunk vagy alkalmazásunk működését? Mutatjuk a megoldásokat!
Mi okozza a maximum_execution_time hibát?
A PHP környezet alapértelmezés szerint korlátozza, hogy egy szkript legfeljebb hány másodpercig futhat. Ha ezt a limitet túllépi, a futás leáll, és az alábbi hibaüzenet jelenhet meg:
Fatal error: Maximum execution time of 30 seconds exceeded in...
Ez gyakran előfordul:
- Végtelen ciklusoknál
- Nagy adatbázis-lekérdezések esetén
- Fájlműveleteknél (pl. CSV import, tömeges képkezelés)
Példa hibás kódra
<?php
while (true) {
echo "fut...";
}
Megoldás 1: időkorlát növelése kódból
<?php
ini_set('max_execution_time', 300); // 300 másodperc = 5 perc
Ez a beállítás csak az adott scriptre érvényes. Csak indokolt esetben használd – végtelen ciklusokat nem érdemes „tolerálni”.
Megoldás 2: php.ini módosítása
Amennyiben van hozzáférésed a php.ini fájlhoz, állítsd be így:
max_execution_time = 300
Ez a globális beállítás, és az összes PHP szkriptre érvényes lesz.
Megoldás 3: .htaccess fájl (Apache szerveren)
php_value max_execution_time 300
Ez a megoldás akkor működik, ha a tárhelyszolgáltató engedi a PHP értékek módosítását `.htaccess`-ből.
Mikor érdemes növelni az időkorlátot?
- Egyszeri tömeges importálás vagy exportálás során
- Frissítések lefuttatása előtt
- WordPress oldalaknál sablon vagy plugin telepítésekor
Kapcsolódó hibák
Külső forrás
További részletek: PHP dokumentáció – max_execution_time
Összefoglalás és segítség
A maximum_execution_time hiba egyszerűen kezelhető, ha tudjuk, hol és hogyan kell beavatkozni. Fontos, hogy ne a hibát „hallgattassuk el”, hanem az okát szüntessük meg. Ha hasonló problémákkal találkozol, nézd meg PHP hiba gyűjteményünket, vagy írj nekünk.
