Košík je prázdný

Vývojáři a správci webových stránek se často setkávají s chybou, která může způsobit hluboké vrásky na čele. Jednou z takových chyb je "Fatal error: Maximum execution time of 30 seconds exceeded". Tato chyba se objevuje, když PHP skript překročí maximální povolený čas pro jeho provedení. V našem případě došlo k překročení limitu během zpracování obrázku v Wordpress na řádku 426 v souboru class-wp-image-editor.php.

Co znamená tato chyba?

Chyba informuje, že skript nemohl dokončit svou činnost v předem stanoveném časovém limitu, který je ve výchozím nastavení nastaven na 30 sekund. Tento limit je zaveden, aby se zabránilo nadměrnému využívání serverových zdrojů jedním skriptem, což by mohlo vést k zpomalení nebo dokonce pádu serveru.

Jak problém vyřešit

  1. Zvýšení maximálního času provedení: Jedním z řešení je zvýšení limitu času pro provedení skriptů. To lze provést několika způsoby:

    • Upravením souboru .htaccess: Přidáním řádku php_value max_execution_time 60 lze limit zvýšit na 60 sekund.
    • Upravením souboru php.ini: Nalezením řádku max_execution_time = 30 a jeho změnou na vyšší hodnotu, například 60.
    • Přidáním kódu do PHP skriptu: Před spuštěním náročné části kódu lze použít funkci set_time_limit(60); pro dočasné zvýšení limitu.
  2. Optimalizace skriptu: V případě, že zvýšení časového limitu není možné nebo žádoucí, je vhodné se zaměřit na optimalizaci samotného skriptu. To může zahrnovat zmenšení velikosti zpracovávaných obrázků, použití efektivnějších algoritmů nebo rozdělení práce skriptu na menší části.

 

Chyba "Maximum execution time exceeded" je poměrně běžná, ale s pravým přístupem a úpravami lze snadno překonat. Zvýšení časového limitu nebo optimalizace skriptu jsou účinné způsoby, jak předejít této chybě a zabezpečit hladký chod webových aplikací.