Naše webové stránky obsahujú odkazy na partnerské weby. Ak sa prekliknete z našich stránok na stránky partnera a tam si zakúpite jeho služby, obdržíme za sprostredkovanie províziu (Zistiť viac informácií). Táto forma spolupráce nijako neovplyvňuje objektívnosť našich recenzií. Každým nákupom cez kliknutie z našich stránok podporíte našu redakciu, aby sme aj do budúcnosti mohli tvoriť kvalitný a užitočný obsah. Ďakujeme.
Dôležité upozornenie Všetky naše články píšu skutoční ľudia. Nie sú to umelé texty od stroja.
Čo je max_execution_time a na čo slúži?
Max_execution_time je jedným z parametrov, ktorým by sme mali venovať pozornosť pri výbere webového hostiteľa. V tomto článku sa pozrieme na to, aké hodnoty sú optimálne a čo vlastne max_execution_time znamená.
Čo je max_execution_time?
Hodnota max_execution_time nastavuje maximálny čas v sekundách, počas ktorého môže skript bežať pred ukončením. V predvolenom nastavení je maximálny čas vykonávania skriptu PHP nastavený na 30 sekúnd. Ak skript beží dlhšie ako 30 sekúnd, PHP ho zastaví a oznámi chybu.
Často sa max_execution_time spája s max_input_time
Čo je max_input_time?
Nastavuje maximálny čas v sekundách, počas ktorého môže skript analyzovať vstupné údaje, napríklad prostredníctvom POST a GET. Táto hodnota sa zvyčajne zvyšuje, aby bolo možné odosielať väčšie súbory. Predvolené nastavenie je -1, čo znamená, že sa namiesto toho použije hodnota max_execution_time. Nastavte na hodnotu 0, aby bol čas neobmedzený.
Nastavenie max_execution_time?
Podobne ako pri nastavení memory_limit máte dve hlavné možnosti zmeny max_execution_time.
Globálna zmena max_execution_time
Toto nastavenie je globálne a platí pre všetky operácie PHP a skripty na serveri. Táto úprava sa zvyčajne vzťahuje na VPS a servery. Zmenou nastavenia max_execution_time obmedzíte čas behu všetkých skriptov na serveri na určitý čas.
Ako zmeniť max_execution_time PHP na vašom VPS alebo serveri?
Každý server má jeden alebo viac súborov php.ini v závislosti od svojej konfigurácie. Stačí nájsť príslušný súbor php.ini a zmeniť hodnotu max_execution_time.
Ak chcete zistiť umiestnenie súboru php.ini, môžete na serveri cez SSH spustiť jeden z nasledujúcich príkazov:
php --ini
alebo
find / -iname php.ini
alebo
php -i | grep php.ini
Vyššie uvedené príkazy vyhľadajú umiestnenie vašich súborov php.ini. Jednoducho prejdite na toto miesto a upravte súbor podľa potreby. Samozrejme, ak si nie ste istí úpravami, vytvorte si zálohu súboru.
Miestna zmena max_execution_time
Používa sa, ak chcete nastaviť hodnoty pre konkrétny skript alebo pre konkrétny adresár/doménu. Obe možnosti si ukážeme a popíšeme nižšie.
Zmena pre konkrétny skript
V prípade, že nechcete zmeniť globálne nastavenia alebo nemôžete a napriek tomu chcete obmedziť čas spustenia skriptu, môžete použiť nasledujúce riešenie. Samozrejme, predpokladom je, že môžete a máte povolené upravovať a nastavovať konfiguráciu PHP.
Na začiatok skriptu (po otvorení) vložte nasledujúci kód
ini_set('max_execution_time', 60);
Tento kód nastaví max_execution_time pre tento konkrétny skript na 60sec bez akéhokoľvek zásahu do php.ini.
- ini_set – zadávame informácie, ktoré chceme definovať nejaký „príkaz“, ako keby bol v súbore php.ini
- max_execution_time – maximálny čas vykonávania skriptu
- 60 – čas, po ktorom sa skript ukončí
Zmena max_execution_time cez .htaccess
Dôvodom, prečo potrebujete zmeniť max_execution_time PHP prostredníctvom .htaccess, môže byť to, že nemáte dostatočné oprávnenia alebo skúsenosti na zmenu tohto nastavenia v php.ini alebo chcete túto hodnotu zmeniť pre celý adresár (doménu) a nie len pre konkrétny skript, ako sme popísali vyššie.
Toto však nemusí byť vždy vhodné riešenie – najmä ak je podpora .htaccess vypnutá. Potom takáto zmena nemá želaný účinok.
Ak teda meníte max_execution_time prostredníctvom súboru .htaccess, pridajte na začiatok súboru .htaccess v koreňovom adresári nasledujúci riadok.
php_value max_execution_time 60
Toto nastavenie zmení hodnotu na 60 sekúnd a bude platiť tam, kde sa uplatňuje tento konkrétny .htaccess
Ako skontrolovať aktuálnu verziu PHP a max_execution_time PHP?
Stačí vytvoriť jednoduchý php súbor (napríklad info.php) a vložiť do neho tieto riadky:
<?php
phpinfo();
?>
Nahrajte tento súbor na FTP a potom ho normálne zobrazte v prehliadači vasedomena.cz/info.php
Výsledkom je potom výpis kompletných informácií o PHP. Položku max_execution_time potom ľahko nájdete pomocou klávesovej skratky CTRL+F a zadaním „max_execution_time“.
Výsledok môže vyzerať takto:
Ideálna hodnota max_execution_time?
Podobne ako v prípade memory_limit nemôžeme hovoriť o žiadnej optimálnej hodnote max_execution_time.
S problémami s nízkym max_execution_time sa môžete stretnúť napríklad pri veľkom importe alebo pri skriptovaní, ktoré odosielajú hromadnú poštu.
České hostingové spoločnosti väčšinou používajú 60sec max_execution_time pozri nasledujúci zoznam plánov, ktoré používajú 60, 90, 120 a 180sec