2009-08-05 58 views
0

我在錯誤日誌中找到這些錯誤:SimpleXMLElement錯誤:多次!

[05-Aug-2009 12:57:27] PHP Warning: SimpleXMLElement::__construct() [<a href='simplexmlelement.--construct'>simplexmlelement.--construct</a>]:^in /home/mojo/public_html/shackupload.php on line 37 

有趣的是,我對上述200在我的錯誤日誌都具有相同的時間戳!發生了什麼,爲什麼這麼多?!

if(!(substr($res, 0, 6)=='Failed')){ 

    $xml = new SimpleXMLElement($res) or die('Error creating a SimpleXML instance'); 
    $imagelink = (string) $xml->image_link; // This is the image link 
    $_SESSION['shack_link'] = $imagelink; 
    echo 'done';  
} 

回答

3

SimpleXMLElement::__construct的文件說,(引用):

有問題的線路,這

Errors/Exceptions

Produces an E_WARNING error message for each error found in the XML data and throws an exception if errors were detected.

所以,我說你試圖加載包含XML錯誤的文件(例如一個非有效的文件)。

並解釋你同時得到200個錯誤的事實:你的文件中必須有200個錯誤,因爲__construct在XML數據中每個錯誤產生一個E_WARNING

將XML數據記錄到文件中,在這種情況下,可能會幫助您準確找到導致警告的原因......至少如果這種情況不經常發生。


編輯:順便說一句,在一段時間看你的error_log真的是一個好主意!我沒有看到足夠多的人這樣做,:-(

1

嘗試的代碼塊之前呼應了$資源。它看起來像你$資源字符串中包含插入符號^開頭或某個地方的標記之外。