Можно ли установить максимальное время выполнения функции exec($command)
? Иногда выполнение моей $command
длится слишком долго, останавливаясь через 1 минуту и представляя эту ошибку:
Неустранимая ошибка: максимальное время выполнения 60 секунд превышено в C: \ xampp \ htdocs \ files.php в строке 51
Как увеличить максимальное время выполнения команды exec()
?
if (allow()) { exec($command); if (file_exists($file)) { //exec($makeflv); echo '<script language="javascript" type="text/javascript">window.top.window.aviout(1);</script>'; } else { echo $error; } } else { echo $error; }
См. http://php.net/manual/en/function.set-time-limit.php
set_time_limit($seconds)
Если $second
установлено в 0
, лимит времени не наложен. Обратите внимание, что вы должны быть осторожны с удалением ограничения по времени. Вы не хотите, чтобы бесконечные петли медленно ели все серверные ресурсы. Высокий предел, например 180
, лучше, чем без ограничений.
В качестве альтернативы вы можете настроить настройку времени только для определенных блоков кода и сбросить ограничение по времени после выполнения критического кода времени, например
$default = ini_get('max_execution_time'); set_time_limit(1000); ... some long running code here ... set_time_limit($default);
вы можете использовать ini_set()
следующим образом:
ini_set('max_execution_time', 0);
Установка его на 0 приведет к тому, что ваш скрипт будет работать вечно в соответствии с документацией ini-директивы .
В .htaccess
вы можете установить следующие значения:
php_value max_execution_time 1000000 php_value max_input_time 1000000
Вы также можете попробовать это в верхней части вашего PHP-скрипта:
set_time_limit(0);