set_time_limit
по идее скрипт должен выполняться 10 минут, а на самом деле скрипт работает гораздо больше. Почему так? Броузер закрыл, скрипт продолжает работать. Остановить его получается только из shell.
Каким образом скрипт запускается? Как ты судишь, что он работает? Ты уверен, что set_time_limit() срабатывает?
Скрипт проводит модификацию базы. Потом закрыл броузер и наблюдаю. за базой. Вот уже чеса 3 скрипт "шуршит". Ошибок на экране не было.
Да, в PHP есть директивы, которые отменят смерть срипта даже если закрыть окно браузера, но если time_limit>0, то скрипт убит будет в любом случае.
В итоге у меня скрипт проработал 7 часов и остановился только когда закончились входные данные.
При заданном max_execution_time=30 и отсутсвием переназначения этой директивы в рантайме это просто невозможно.
set_time_limit учитывает время работы самого PHP скрипта. Время выполнения внешних приложений и SQL запросов не учитывается. И самое главное, в первую очередь нужно проверить, срабатывает ли эта функция. Она может быть отключена (например в Safe Mode).