Предупреждение: file_get_contents не удалось открыть поток: время ожидания соединения истекло в includes/simple_html_dom.php в строке 75

#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 .