PHP CURL curl_exec возвращает «Не удалось разрешить хост» www. ~ .com ». Включен ли CURL?

Эта функция работает на localhost, но не на моем удаленном сервере.

Я спросил об этом хозяина сервера, и он сказал мне, что PHP CURL включен, и все должно работать нормально.

И вот код:

$ url, с которым я тестирую:

$url = "http://bus.go.kr/getSubway_6.jsp?statnId=1003000323&subwayId=1003" 

Вот функция:

 function file_get_html_using_cURL($url) { if (!function_exists('curl_init')){ die('CURL is not installed!'); } $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPGET, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false ); curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 2 ); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, faslse); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $output = curl_exec($ch); if(curl_errno($ch)){ echo 'Curl error: ' . curl_error($ch); echo "\n--------------------\n"; print_r(curl_getinfo($ch)); echo "\n--------------------\n"; } $output = str_get_html($output); // <-- Important line to convert string into object! curl_close($ch); return $output; } 

И это то, что возвращается на странице сайта:

 Curl error: Couldn't resolve host 'bus.go.kr' -------------------- Array ( [url] => http://bus.go.kr/getSubway_6.jsp?statnId=1003000323&subwayId=1003 [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [certinfo] => Array ( ) ) -------------------- 

Я не знаю, почему это не работает на удаленном сервере.

Что мне делать?

curl включен и отлично работает в вашем случае. К сожалению, сервер, на котором он выполняется, не может разрешить имя bus.go.kr Разрешение в этом контексте означает поиск IP-адреса интернет-хоста, имя которого известно.

Проблем может быть много. Если он постоянный, сервер, вероятно, неправильно настроен. Если это временно, то это, вероятно, проблема с подключением.

Вы можете сделать больше проверок с разными URL-адресами, например http://www.google.com , и посмотреть, какие результаты вы получите. Если вы не можете связаться ни с одним из них, это проблема конфигурации.

попробуйте использовать curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, FALSE);