2012-10-28 25 views
1

我想我的服務器設置有問題。我有一個代碼從另一臺服務器獲取代碼。我不知道爲什麼,但代碼是不符合我的VPS的工作,但它正在與一個簡單的共享託管帳戶...捲曲或簡單的XML? - Apache或PHP設置?

下面是代碼:

$post = array(
     'KEY' => 'somekey', 
     'format' => 'xml' 
    ); 


    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, 'xxxxxxxxxx.com' . http_build_query($post)); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
    $response = curl_exec($ch); 
    $xml_obj = simplexml_load_string($response); 
    $json = json_encode($xml_obj); 
    $array = json_decode($json, true); 
    curl_close($ch); 

它是那樣工作如果我在我的共享主機服務器上運行它,但它只是有一些問題(它不會輸出),並且腳本無法運行。我測試過,我得到了1(真)這個聲明:$json = json_encode($xml_obj);但不適用於任何進一步的代碼。所以可能有問題的地方。

我也檢查是否啓用了xml DOM,它是。我也檢查過CURL和JSON,並且它們都被啓用。

有人可以幫助我嗎?沒有錯誤信息,我什麼也做不了,我不知道可能是什麼問題。 :/

+0

你檢查error_log嗎? – GBD

回答

1

看起來你可能沒有啓用遠程allow_url_fopen。在腳本的開頭 將這個:

ini_set("allow_url_fopen", 1); 

要啓用curl_exec,您需要修改php.ini並從最後的禁止功能將其刪除。要了解你的php.ini,你可以在你的腳本的開頭調用一次這樣的:

phpinfo(); die(); 

,將告訴你要使用的php.ini文件(尋找php.ini中的字符串)。一旦你修改了php.ini,你將需要重新啓動你的web服務器。

+1

請您詳細說明這是什麼以及如何啓用它? – user1406071

+1

嘗試這一行,如果它在你使用後適用於你,那麼你可以修改你的php.ini來始終允許它。 – ajacian81

+1

謝謝你,我會試試:) – user1406071