Почему php скрипт отключается?

При написании php грабберов или сборщиков часто возникает ситуация, когда скрипты по неизвестной причине "вырубаются". Существует несколько причин такого поведения скриптов:

1. Нехватка памяти - в этом случае нужно выделить скрипту больше памяти. Установка нужного значения memory_limit в php.ini решает проблему.

2. Ошибки. Они могут возникать в процессе загрузки и парсинга страницы. Иногда сервер выдает ошибку с надписью Service Unavailable, это значит что он перегружен. Вместо контента парсер а именно зачастую функции preg_match_all парсит именно эту надпись :) или вообще пустой контент. Избежать возникновение ошибок в такой случае можно простой проверкой if (@$content!="") или же if (@preg_match_all(...)).

3. Для "вечной" работы скриптов используйте функции set_time_limit (0); ignore_user_abort (true);

Если ваш скрипт все-равно "падает" его нужно "посадить на крон" при этом реализовать функцию сохранения текущего состояния процесса для того чтобы при перезапуске скрипт продолжил работу с прерванного места.

Читайте далее о том Как посадить php скрипт на крон?

0 коммент.:

Отправить комментарий