在我的模块代码中,我回应了一个未定义的变量:
echo $doesnotexist;
我在 index.php :
中完成了以下操作error_reporting(E_ALL);
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
这个组合显示了一个"哎呀,我们的坏..."执行代码时的404类型页面。在 exception.log 中有一个通知(" 未定义变量:doesnotexist ")以及堆栈跟踪。
如果我删除 index.php 中的部分说明:
error_reporting(E_ALL);
//Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
前端显示页面通常没有任何错误指示,错误记录到 system.log 。
现在我的问题是:有没有办法将这些通知/错误直接输出到前端?或者我是否应该在编码时始终打开 system.log 或 exception.log 的副本?
答案 0 :(得分:1)
Magento通常使用zend异常/错误处理类来处理错误和异常。因此,对于日志中记录了magento代码发送异常的错误。 但如果错误无法通过magento捕获,那么它将打印在您的页面上。
您可以在2个案例中获得前端错误:
答案 1 :(得分:0)
作为安全问题,不应在前端显示错误和警告。
如果有异常或你做了一些系统日志,你可以从system.log或exception.log获取它。
对于PHP错误,您应该参考在站点级别生成的错误日志文件。
法师:: setIsDeveloperMode(真);只有在包含Mage.php后才能使用,所以粘贴完整的index.php代码