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
- 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ů.
- 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í.