Почему скрипт php может остановиться?

Я выполняю очень долгую задачу в php. Это искатель веб-сайта, и он должен быть вежливым и спящим в течение 5 секунд на каждой странице, чтобы предотвратить перегрузку сервера. Сценарий начинается с:

ignore_user_abort(1); session_write_close(); ob_end_clean(); while (@ob_end_flush()); set_time_limit(0); ini_set('max_execution_time',0); 

Через несколько часов (между 3-7 ч) скрипт умирает без видимых причин. Я проверил

  • apache error log (ничего)
  • php_errors.log (ничего)
  • вывод для ошибок (10 578 467b отладочного вывода, без ошибок)
  • потребление памяти (стабильное, около 3M от memory_get_usage(true) проверено каждые 5 секунд, ограничение установлено на 512M)

Это не браузер, потому что я использовал wget и chrome для проверки по той же причине. Выход отправляется в браузер каждые 2-3 секунды, поэтому я не думаю, что это ошибка + я игнорирую пользовательский прерывание.

Есть ли другое место, которое я могу проверить, чтобы найти проблему?

Я думаю, что есть проблема в остальной части вашего скрипта, а не в Apache.

Попробуйте профилировать ваше приложение, используя register_tick_function, с таким профайлером, как это, и регистрируя использование памяти .