@hrvasiliy

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

Написал простой парсер на PHP с использованием библиотеки PHP Simple HTML DOM. Работает следующим образом: собирает ссылки со страницы (около 100 штук) и потом заходит в каждую ссылку отдельно и берет небольшие куски информации и пишет в БД. Дело в том, что при таком раскладе скрипт перестает работать где-то на 20-25 ссылке и просто завершает работу. Если же руками указывать с какой по какую ссылку проходить (с 1 до 20 с 21 по 40 и т.д.) - все нормально. В чем причина? В малых мощностях хостинга?
  • Вопрос задан
  • 2424 просмотра
Пригласить эксперта
Ответы на вопрос 4
mnjghgmjyt
@mnjghgmjyt
php it бот сети
1. лимит времени выполнения скрипта
2. хостинг слаб
3. где то наговнокодили
Ответ написан
@Centrino
1. Увеличьте время выполнения скрипта (для apache set_limit_time)
2. Нехватка памяти для обработки
3. Отлавливайте ошибки.
Ответ написан
Комментировать
zvermafia
@zvermafia
WebDev
У меня тоже такое было. Решил проблему таким способом:
1. Отлавливаю ошибку с помощью исключения;
2. Продолжаю работать рекурсивно.
Ответ написан
Denormalization
@Denormalization
Скорее всего скрипт умирает из-за низкого значения max_execution_time.

Решение:
Увеличить время жизни скрипта max_execution_time (функция set_time_limit())
Можно добавить ignore_user_abort на всякий случай.

Если это не поможет, то стоит искать ошибки из-за которых скрипт умирает.

Решение:
// Включаем отображение ошибок
ini_set('display_errors', true);
error_reporting(E_ALL);


Если и это не поможет, то нужно звонить на передачу "Битва Экстрасенсов" и там спрашивать, потому что наши штатные в отпуске.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы