SimpleXMLElement错误:多次!

时间:2009-08-05 20:39:42

标签: php xml

我在错误日志中发现了这些错误:

[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';    
}

2 个答案:

答案 0 :(得分:3)

SimpleXMLElement::__construct的文档说(引用):

  

<强>错误/异常

     

生成E_WARNING错误消息   对于XML数据中发现的每个错误   如果错误,则抛出异常   检测

所以,我会说你试图加载一个包含XML错误的文件(例如一个无效的文件)。

并解释您同时遇到200个错误的事实:您的文件中必须包含200个错误,因为__construct在XML数据中每个错误生成一个E_WARNING

在这种情况下,将XML数据记录到文件中可能有助于您准确找到导致警告的原因......至少如果不经常发生这种情况。

编辑:BTW,偶尔看一下你的error_log真的是个好主意!我没有看到足够的人这样做: - (

答案 1 :(得分:1)

尝试在该代码块之前回显$ res。看起来你的$ res字符串在开头或标记之外的某处包含一个插入符号。