У меня есть PHP-скрипт, который захватывает кусок данных из базы данных, обрабатывает его, а затем проверяет, есть ли еще данные. Эти процессы выполняются бесконечно, и я запускаю несколько из них одновременно на одном сервере.
Это выглядит примерно так:
<?php
while($shouldStillRun)
{
// do stuff
}
logThatWeExitedLoop();
?>
Проблема в том, что через некоторое время что-то заставляет процесс перестать работать, и я не был в состоянии отладить его и определить причину.
Вот что я пока использую для получения информации:
Какие другие методы отладки вы бы предложили для поиска виновника?
Примечание: я должен добавить, что это не проблема с max_execution_time , который отключен для этих сценариев. Время до убийства несовместимо. Он может работать в течение 10 секунд или 12 часов, прежде чем он умрет.
Обновление / решение : Спасибо всем за ваши предложения. Регистрируя вывод, я обнаружил, что при сбое MySql-запроса сценарий был установлен на die (). Ооо. Обновлен, чтобы регистрировать ошибки mysql, а затем прекращать работу. Теперь он работает как шарм!