Localhost URL работает в браузере, но возвращает bool (false) для PHP curl_exec - PullRequest
9 голосов
/ 05 января 2011

У меня есть следующий код PHP:

$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $URL);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec ($curl);

echo $html;

со следующим результатом:

, и это даже если браузер может отображать http://localhost/index.html без проблем.Я использую сервер xampp apache на локальном хосте.

Я не могу понять, в чем проблема.Любая помощь будет высоко ценится.

Ответы [ 5 ]

4 голосов
/ 06 января 2011

Вы должны убедиться, что ваш Apache прослушивает правильные интерфейсы. Однажды у меня была эта проблема на компьютере Vist: Apache (XAMP) прослушивал только на IPv4, но в Vista «localhost» по умолчанию разрешает IPv6-адрес.

Чтобы отключить адрес IPv6, отредактируйте файл % system32% \ drivers \ etc \ hosts и удалите строку :: 1.

0 голосов
/ 24 февраля 2014

Это может быть:

Проблема IPV6 с curl:

curl, настроенный с: c-ares включены ipv6 включен локальная система отключила ipv6. Пожалуйста, проверьте это.

Вы также можете поделиться файлом хоста для получения более подробной информации.

0 голосов
/ 24 февраля 2014

Попробуйте использовать

if(curl_exec($ch) === false)
{
    echo 'Curl error: ' . curl_error($ch);
}
else
{
    echo 'Operation completed without any errors';
}
// ( see : www.php.net/curl_error )

Чтобы увидеть, что происходит, надеюсь, это поможет

0 голосов
/ 24 февраля 2014

Одна из возможных проблем - проблема с брандмауэром.По умолчанию Curl пытается использовать порт 1080, который, вероятно, не открыт на вашем локальном хосте / маршрутизаторе / ISP.

Если это не проблема, попробуйте после выполнения скручивания поставить что-то вроде этого:*

Вы увидите, что не удалось во время выполнения curl.Дополнительная информация: curl_getinfo curl_errno curl_error

0 голосов
/ 22 февраля 2014

cURL может конвертировать запрос в IPv6 за кулисами. В дополнение к решению, предложенному xrstf, вы можете просто попытаться использовать 127.0.0.1 вместо localhost для принудительного подключения IPv4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...