maximum execution time of 30 seconds exceeded – jelentés és megoldás (PHP)

A maximum execution time of 30 seconds exceeded hiba PHP környezetben azt jelenti, hogy egy szkript túl sokáig futott, és elérte a beállított időkorlátot. Ez az egyik leggyakoribb szerveroldali hiba, különösen WordPress oldalak, tömeges adatfeldolgozás vagy végtelen ciklusok esetén.

Hogyan néz ki a hibaüzenet?

Fatal error: Maximum execution time of 30 seconds exceeded in /path/to/script.php on line 123

Ez arra utal, hogy a PHP 30 másodperces limitet túllépte, és leállította a szkript végrehajtását.

Mi okozza ezt a hibát?

  • Hosszú ideig futó ciklusok (while, for)
  • Nagy fájlok feldolgozása
  • Tömeges adatbázis-lekérdezések
  • Plugin vagy sablon bug WordPress-ben

Példa hibás kódra


<?php
for ($i = 0; $i < 100000000; $i++) {
    // túl sok feldolgozás
}

Megoldás 1: ini_set() használata a futás elején


<?php
ini_set('max_execution_time', 300); // 5 perc

Megoldás 2: php.ini fájl szerkesztése


max_execution_time = 300

Ez a beállítás globálisan növeli az időkorlátot.

Megoldás 3: .htaccess fájl (Apache alatt)


php_value max_execution_time 300

Ha a tárhelyszolgáltató engedi, ezzel módosíthatod az időkorlátot oldalanként.

Fontos: mikor NE növeld az időkorlátot

Ne használd az időkorlát növelését a hibásan megírt szkriptek „elfedésére”. Végtelen ciklusok, hibás pluginok vagy nem optimalizált lekérdezések helyett a valódi hibát kell javítani.

Kapcsolódó hibák

Külső forrás

További részletek: PHP dokumentáció – max_execution_time

Összefoglalás

A maximum execution time of 30 seconds exceeded hiba a túl hosszú futási idejű PHP szkriptek egyik figyelmeztetése. Megoldása több módon is lehetséges – de a valódi ok megtalálása kulcsfontosságú. Nézd meg további PHP hibáinkat is.