我在错误日志中发现了这些错误:
[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';
}
答案 0 :(得分:3)
SimpleXMLElement::__construct的文档说(引用):
<强>错误/异常强>
生成
E_WARNING
错误消息 对于XML数据中发现的每个错误 如果错误,则抛出异常 检测
所以,我会说你试图加载一个包含XML错误的文件(例如一个无效的文件)。
并解释您同时遇到200个错误的事实:您的文件中必须包含200个错误,因为__construct
在XML数据中每个错误生成一个E_WARNING
。
在这种情况下,将XML数据记录到文件中可能有助于您准确找到导致警告的原因......至少如果不经常发生这种情况。
编辑:BTW,偶尔看一下你的error_log真的是个好主意!我没有看到足够的人这样做: - (答案 1 :(得分:1)
尝试在该代码块之前回显$ res。看起来你的$ res字符串在开头或标记之外的某处包含一个插入符号。