Назад | Перейти на главную страницу

php cURL не работает

Расширение php cURL на сервере Apache, унаследованном от моего предшественника, не работает.

Я использую следующий код:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://www.linkedin.com/nhome/');
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_STDERR, $fp);

    $response = curl_exec($ch);
    $errmsg = curl_error($ch);
    $cInfo = curl_getinfo($ch);
    curl_close($ch);

Что возвращает ошибку:

* name lookup timed out
* Couldn't resolve host 'www.linkedin.com'
* Closing connection #0

Однако, если я использую IP-адрес вместо URL-адреса, он работает:

* About to connect() to 54.171.54.110 port 80
*   Trying 54.171.54.110... * connected
* Connected to 54.171.54.110 (54.171.54.110) port 80

Я предполагаю, что это проблема с DNS? Как мне начать устранение проблемы?

Спасибо комментарию ThoriumBR за толчок в правильном направлении.

Сервер имен, указанный в /etc/resolv.conf, не работал, поэтому я заменил его общедоступными серверами имен Google:

nameserver 8.8.8.8
nameserver 8.8.4.4