Co je PHP max_execution_time

PHP max_execution_time je limit určující maximální dobu (v sekundách), po kterou může PHP skript běžet.

Pokud skript tento časový limit překročí, server proces automaticky ukončí, aby uvolnil PHP worker a zabránil zbytečnému blokování ostatních požadavků. 

Podobně jako u memory_limitu pomáhá toto omezení serveru udržet stabilitu a výkon, zejména při vysokém počtu současně běžících procesů.

Jak max_execution_time funguje v praxi

Když skript běží příliš dlouho, například kvůli náročnému dotazu na databázi nebo složitému výpočtu, max_execution_time proces ukončí, aby předešel vyčerpání paměti stanovené memory_limitem.

Tím se worker uvolní a může se věnovat dalším požadavkům, což pomáhá zabránit tomu, aby dlouhotrvající úlohy blokovaly server.

Omezením času pro jednotlivé skripty se snižuje riziko, že server přestane odpovídat.

PHP max_execution_time pro weby stanovují poskytovatelé webhostingu. Například u Webglobe je ale tento limit neomezený. Podívejte se na kompletní parametry webhostingu od Webglobe.

Kdy může být max_execution_time problém?

  • Náročné importy nebo exporty dat: Skripty, které zpracovávají velké objemy dat, mohou potřebovat více času na dokončení, což může vyžadovat dočasné zvýšení max_execution_time.
  • Složitá zpracování obrázků nebo videí: Pokud server zpracovává velké soubory, může skript potřebovat více času na dokončení operací.
  • Zdlouhavé API dotazy: Čeká-li skript na odpověď od externí API, může snadno max_execution_time překročit.

Co se stane při překročení max_execution_time

  1. Zobrazí se chybová hláška: např. „Maximum execution time of X seconds exceeded.“ Tato zpráva se může zobrazit přímo na webu nebo se zaznamená do serverových logů.
  2. Proces se nedokončí: Provádí-li skript důležité operace (např. zpracování formuláře, export dat nebo platbu), zastavením procesu může dojít k nedokončení těchto úloh.

PHP max_execution_time je potenciální riziko pro uživatelskou zkušenost

Pokud návštěvníci často narazí na chyby způsobené max_execution_time, může to negativně ovlivnit jejich zkušenost s webem a důvěru v jeho spolehlivost.

V takovém případě zvažte optimalizaci kódu, snížení složitosti nebo, je-li to možné, navýšení tohoto limitu, aby měl skript dostatek času na dokončení.

Last updated: