#php
#php
Вопрос:
Внезапно мой cronjob перестал работать должным образом, когда он захватывает содержимое через file_get_contents и начал выдавать следующее предупреждение и неустранимую ошибку. Кто-нибудь знает, почему это делается?:
Warning: file_get_contents(http://seriesgate.me/search/indv_episodes/The Social Network): failed to open stream: Connection timed out in includes/simple_html_dom.php on line 75
Fatal error: Call to a member function find() on a non-object in includes/seriesgate.class.php on line 25
Комментарии:
1. Если seriesgate.me является ли ваш домен, тогда проверьте строку с номером 75 в includes/simple_html_dom.php. В этой строке он включает или требует какой-либо другой файл, который, возможно, не существует или права доступа к файлу не соответствуют действительности. Неустранимая ошибка говорит о том, что в строке номер 25 из includes/seriesgate.class.php вы собираетесь использовать функцию find() из объекта. Но это не объект. Попробуйте решить, что первое может быть вторым, зависящим от этого.
2. Что изменилось, когда он перестал работать? В вашей системе что-то изменилось? Обновление? Изменения разрешения?
3. Ничего из того, о чем я знаю, не было изменено, оно остановилось из ниоткуда. Мой хост утверждает, что ничего не было изменено, чтобы вызвать это.
4. Как вы думаете, может быть, SeriesGate запретил IP-адресу моего сервера подключаться к их веб-сайту, что приводит к тайм-ауту подключения?
Ответ №1:
Это работает.
echo file_get_contents("http://seriesgate.me/search/indv_episodes/The Social Network");
Возможно, проблема с выполнением.
Попробуйте это
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
echo file_get_contents("http://seriesgate.me/search/indv_episodes/The Social Network");
Комментарии:
1. Интересно, почему тогда моему cronjob не удается успешно запустить его? Раньше это работало нормально, но недавно стало делать это.
2. Возможно, проблема со временем выполнения. Пожалуйста, попробуйте приведенный выше код
3. В какой файл мне поместить этот код? seriesgate.class.php или simple_html_dom.php
4. Добавление этого не исправило проблему. То же предупреждение и неустранимая ошибка.
Ответ №2:
Connection timed out
Ошибка наверняка связана с сетевой проблемой.
Во-первых, возможно, из-за вашей проблемы с сетевым подключением получение ответа от сервера занимает слишком много времени. Пожалуйста, проверьте ваше локальное / серверное / хостинговое интернет-соединение; доменное имя, IP, порт, … опечатка.
Во-вторых, возможно, это проблема назначения. Например, seriesgate.me не работает для всех, не только для вас. Я знаю, что этому вопросу 3 года, и сайт не работает. Но рекомендуется проверять пункт назначения, когда он говорит что-то вроде Connection timed out
.