Č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á.

Odkaz: PHP max_execution_time na php.net

Č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:

php.ini
php.ini
max_execution_time
max_execution_time

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

Rate this post

Similar Posts

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Táto webová stránka používa Akismet na redukciu spamu. Získajte viac informácií o tom, ako sú vaše údaje z komentárov spracovávané.