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 ...
// ...