我有一个在我们的开发服务器上工作正常但在客户端服务器上死掉的脚本。
error_reporting(E_ALL);
if (function_exists('simplexml_load_file')) echo "function exists";
if (file_exists('test.xml'))
{
echo("<hr>just about to read local xml file :".__LINE__);
$xml = simplexml_load_file('test.xml'); // dies here
在Perl中,您可以使用eval捕获此类错误,PHP中是否存在等效的内容?
答案 0 :(得分:0)
取决于函数失败的方式。
如果是simplexml_load_file()
,则错误信息为well documented
出错时,它将返回FALSE。
和
生成E_WARNING错误消息 对于XML数据中发现的每个错误。
和
提示
使用
libxml_use_internal_errors()
抑制所有XML错误,并且libxml_get_errors()
迭代 他们之后。
而且,您可以随时set your own error handler或使用(麻烦)error suppression operator。
答案 1 :(得分:0)
系统管理员: - 我简要地打开了详细的错误报告,然后回复:
致命错误:无法克隆类SimpleXMLElement的对象
中的'zend.ze1_compatibility_mode'http://archives.devshed.com/forums/php-108/simplexml-problem-982459.html
可以使用a在每个站点上覆盖此配置 .htaccess文件指令 http://www.activecollab.com/forums/topic/616/
这解决了这个问题。但为什么我不能在我的脚本中打开这种级别的错误报告?