Столкнулся с проблемой при работе скрипта. В настройках php.ini:
max_execution_time = 30
Но скрипт продолжает работать даже через пять минут, но и не виснет - работает до победы (без бесконечных циклов, просто долго рабоатет). Ясное дело, в скрипте директивы не переписаны. Вопрос: где ещё посмотреть, чтобы скрипт завершал работу в положенный ему срок, а не засорял ресурсы?
php 5.6.30, Red Hat 4.8.5-11
http://php.net/manual/ru/function.set-time-limit.php
1) Внимание Эта функция не работает, если PHP работает в безопасном режиме (безопасный режим). Обойти это ограничение можно только выключив безопасный режим или изменив значение настройки в php.ini.
2) Замечание: Функция set_time_limit() и директива max_execution_time влияют на время выполнения только самого скрипта. Время затраченное на различные действия вне скрипта, такие как системные вызовы функции system(), потоковые операции, запросы к базам данных и т.п. не включаются в расчет времени выполнения скрипта. Это не относится к Windows системам, где расчитывается абсолютное время выполнения.
3) Создай пустую страничку и выведи phpinfo(); - посмотри переписывается ли значение. Возможно переписывается в .htaccess
У вас есть внутри что-то типа цикла или каких-то отметок, итераций? Добавьте $time1 в начало скрипта остальной код в каждую итерацию.
$time1 = microtime(true);
$time2 = microtime(true);
$time3 = $time2-$time1;
if($time3 > 30){
exit('время вышло');
}
Продвижение своими сайтами как стратегия роста и независимости