Ошибка зависания: время работы

У меня есть следующая фатальная ошибка при попытке использовать Curl:

PHP Fatal error: Uncaught HTTP_Request2_MessageException: Curl error: Operation timed out after 30000 milliseconds with 0 bytes received in /usr/share/php/HTTP/Request2/Adapter/Curl.php on line 200 Exception trace Function Location 0 HTTP_Request2_Adapter_Curl::wrapCurlError('Resource id #12') /usr/share/php/HTTP/Request2/Adapter/Curl.php:200 1 HTTP_Request2_Adapter_Curl->sendRequest(Object(HTTP_Request2)) /usr/share/php/HTTP/Request2.php:959< in /usr/share/php/HTTP/Request2/Adapter/Curl.php on line 172 

Тем не менее, я не вижу, как лучше отладить его. Нет никакой ссылки на любую строку кода, которую я написал, только модули HTTP_Request2 и Curl . Каков наилучший подход, чтобы попытаться решить эту проблему?

Solutions Collecting From Web of "Ошибка зависания: время работы"

Ваш завиток истекает. Вероятно, URL-адрес, который вы пытаетесь, требует больше, чем 30 секунд.

Если вы запускаете скрипт через браузер, установите set_time_limit равным нулю в течение бесконечных секунд.

 set_time_limit(0); 

Увеличьте ограничение времени работы завитка, используя эту опцию CURLOPT_TIMEOUT

 curl_setopt($ch, CURLOPT_TIMEOUT,500); // 500 seconds 

Это также может случиться для бесконечного перенаправления с сервера. Чтобы остановить эту попытку, запустите сценарий с отключенным местоположением.

 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); 

Некоторое время эта ошибка в Joomla появляется, потому что что-то неправильно с SESSION или cookeie. Это может быть связано с неправильным настройкой HTTP-сервера или с некоторыми из них перед запросами HTTP или CURL

поэтому PHP-код вроде:

  curl_setopt($ch, CURLOPT_URL, $url_page); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE); curl_setopt($ch, CURLOPT_REFERER, $url_page); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . "./cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . "./cookie.txt"); curl_setopt($ch, CURLOPT_COOKIE, session_name() . '=' . session_id()); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); if( $sc != "" ) curl_setopt($ch, CURLOPT_COOKIE, $sc); 

потребуется заменить на PHP-код

  curl_setopt($ch, CURLOPT_URL, $url_page); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); //curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE); curl_setopt($ch, CURLOPT_REFERER, $url_page); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); //curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . "./cookie.txt"); //curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . "./cookie.txt"); //curl_setopt($ch, CURLOPT_COOKIE, session_name() . '=' . session_id()); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); // !!!!!!!!!!!!! //if( $sc != "" ) curl_setopt($ch, CURLOPT_COOKIE, $sc); 

Может быть, кто-то ответит, как эти параметры связаны с «Ошибка скручивания: операция истекает после ..»