PHP - set_time_limit
Třída
Metoda - set_time_limit
(PHP 4, PHP 5, PHP 7)
Funkce set_time_limit() nastavuje, jak dlouho může daný
skript běžet. Vztahuje se pouze na uvedený skript, nemění globální
nastavení. Výchozí hodnota pro běh skriptu je 30 sekund, pokud není
nastavená jiná hodnota pro max_execution_time v
php.ini.
Funkce nastavuje možnou dobu běhu od jejího zavolání. Pokud již
předtím skript běžel např. 28 sekund, nastavení
max_execution_time nebylo změněno a zavolá se funkce
set_time_limit() s parametrem 15, skript může
běžet dalších 15 sekund. To je celkově 43 sekund.
Funkce nefunguje v safe mode.
Pokud operačním systémem není Windows, do času se nezapočítávají
systémová volání pomocí funkce system(), databázové dotazy
nebo operace se streamy a pod.
Procedurální
- function set_time_limit (int $seconds) : bool
Parametry
| Název | Datový typ | Výchozí hodnota | Popis |
|---|---|---|---|
| $seconds | int | Počet sekund pro běh skriptu. Pokud je nastavena nula, není běh časově omezen. |
Návratové hodnoty
Vrací: bool
Vrací true při úspěchu, false při
neúspěchu.
Funkce může vrátit null při parametru s jiným datovým
typem než integer. Tento případ též vyvolá
warning.
Příklady
Test návratových typů:
<?php
var_dump(set_time_limit(30)); // True
var_dump(set_time_limit(0)); // True
var_dump(set_time_limit(15)); // True
var_dump(set_time_limit('Fail')); // Vyvolá warning a vrátí NULL
V reálném použití:
<?php
set_time_limit(60);
// Parsování hromady dat
// ...
if (!set_time_limit(60)) { // Znovu nastavení času pro běh skriptu - resetuje se předešlý "časovač"
// Pokud se nepovede, mohou se zde daná data uložit
// ...
exit;
}
// Další parsování dat ...
// ...
