2016-03-30 92 views
0

此功能在本地主機上,但不是我的遠程服務器上。PHP捲曲curl_exec返回「無法解析主機‘WWW。〜.COM’是捲曲啓用?

我詢問服務器高手這事,它告訴我PHP捲曲啓用,事情應該很好地工作

這裏是代碼:

,我與測試$網址是:

$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 
    (
    ) 

) 

-------------------- 

我不知道爲什麼,這是不是在遠程服務器上工作。

我該怎麼辦?

+0

確保您的機器上啓用了捲曲功能? –

+0

哇。您剛剛發佈了運行古老的,不受支持的PHP 5.3.3的服務器的IP地址,該地址可能包含一些開放的安全問題。請從網絡上刪除本機! –

+0

這聽起來像是在該系統上的名稱解析問題。 – arkascha

回答

1

curl已啓用並完美適用於您的情況。不幸的是,它運行的服務器無法解析名稱bus.go.kr。在這種情況下解決意味着查找名稱已知的Internet主機的IP地址。

問題可能有很多來源。如果它是永久的,那麼服務器可能配置錯誤。如果是暫時的,那可能是一個連接問題。

例如,您可以使用不同的URL執行更多檢查,例如http://www.google.com,並查看您獲得的結果。如果你無法到達其中的任何一個,那麼這是一個配置問題。

+0

它也可能需要使用代理才能工作。 –

+0

通過使用$ url =「http://www.google.com」返回「無法解析主機」www.google.com「」。這是配置問題嗎?你能教我如何以及在配置中改變什麼? –

+0

PHP沒有錯,它在操作系統級別。你應該問系統管理員。 – axiac

0

嘗試使用curl_setopt($ ch,CURLOPT_SSL_VERIFYHOST,FALSE);

+1

請編輯您的答案,以解釋爲什麼這個行爲與問題中的行爲有所不同? – Spangen