2010-11-04 54 views
0

爲什麼此代碼在我的託管中結果爲空,但在本地運行良好?空的RSS結果

$raw = file_get_contents($rssURL); 
$xml = new SimpleXmlElement($raw); 

echo "<b>RSS Items:</b><br /><br />"; 
foreach($xml->channel->item as $item) { 
    echo $item->title."</br >"; 
} 

libxml version:2.6.32; libxml2版本:2.6.32

我也試過這個代碼:

# INSTANTIATE CURL. 
$curl = curl_init(); 

# CURL SETTINGS. 
curl_setopt($curl, CURLOPT_URL, $rssURL); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0); 
curl_setopt($curl, CURLOPT_VERBOSE, 1); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); 

# GRAB THE XML FILE. 
$xml = curl_exec($curl); 

curl_close($curl); 

# SET UP XML OBJECT. 
$xmlObj = simplexml_load_string($xml); 

echo "<b>RSS Items:</b><br /><br />"; 
foreach($xmlObj->channel->item as $item) { 
    echo $item->title."</br >"; 
} 

echo "<br /><b>var_dump:</b><br><br>"; 
var_dump(libxml_get_errors()) 

的結果array(0) { }

有編碼這個片段用於Windows和Linux之間的任何差別(我不這麼認爲)?

任何想法的?

回答

0

http://www.php.net/manual/en/function.libxml-get-errors.php開始,找出simplexml_load_string()拋出的錯誤,因爲它在錯誤時返回false。

此外,您的提供商可能不允許您從您的軟件進行外部呼叫,只是一個想法。

+0

而不是var_dump($ xmlObj),var_dump(libxml_get_errors()) – Scott 2010-11-04 07:21:13

+0

已更新,爲空的錯誤數組。 – 2010-11-04 07:44:08

+0

是否curl_exec()拋出一個錯誤?另外,$ xml的值是多少? – Scott 2010-11-04 07:58:06

0

我使用godaddy,我必須在代理進行撥出電話。

curl_setopt ($curl,CURLOPT_PROXY,'http://proxy.shr.secureserver.net:3128');