Я выполняю очень долгую задачу в 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 ч) скрипт умирает без видимых причин. Я проверил
memory_get_usage(true)
проверено каждые 5 секунд, ограничение установлено на 512M) Это не браузер, потому что я использовал wget и chrome для проверки по той же причине. Выход отправляется в браузер каждые 2-3 секунды, поэтому я не думаю, что это ошибка + я игнорирую пользовательский прерывание.
Есть ли другое место, которое я могу проверить, чтобы найти проблему?
Я думаю, что есть проблема в остальной части вашего скрипта, а не в Apache.
Попробуйте профилировать ваше приложение, используя register_tick_function, с таким профайлером, как это, и регистрируя использование памяти .