Расширение 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