无法在 OpenCart (PHP) 中禁用错误报告
Posted
技术标签:
【中文标题】无法在 OpenCart (PHP) 中禁用错误报告【英文标题】:Can't disable error reporting in OpenCart (PHP) 【发布时间】:2013-05-31 21:22:00 【问题描述】:我似乎无法在 php 中禁用错误报告 - 我已经尝试了所有方法,但仍然显示“通知”错误。
我的 php.ini 有
display_errors = Off;
error_reporting = 0;
我的 .htaccess 有
php_value error_reporting 0
我的脚本有
ini_set('display_errors', 'Off');
ini_set('log_errors', 1);
ini_set('error_reporting', 0);
ini_set('display_startup_errors', 'Off');
php_info();
echo $my_undefined_var;
php_info() 输出确认 display_errors 和 error_reporting 确实为 off 和 0,但我仍然收到通知,
注意:未定义变量:my_undefined_var in /my/site/path/index.php?blahblah...
请注意,这是一个 OpenCart 网站(我的更改位于管理部分)。我已经尝试在 index.php 所在的目录中创建一个测试 php 脚本,这很好。
还有什么可以覆盖error_reporting(0)
的吗?
我已经对整个站点进行了一次 grep,以查找并禁用所有提及 error_reporting 和 display_errors 但无济于事。
【问题讨论】:
将 log_errors 设置为 1 有什么意义?你想记录什么? 除此之外,标题自然让我颤抖。 我真的不想记录任何东西...我在另一个论坛上读到,要禁用错误显示,您可能必须启用错误记录 - 对我来说没有意义,但我在我会尝试任何事情的地步。但如果我把它拿出来就没什么区别了 ***.com/questions/29986806/… 【参考方案1】:对我有帮助: //error_reporting(E_ALL);
在文件startup.php中
【讨论】:
【参考方案2】:OpenCart 中的真正方法。
$this->config->set('config_error_display', 0);
$this->processAction(); // it throws ugly warning
我已经在我的模块的控制器中进行了测试。 只是为了在您的代码之前关闭显示错误。 它只影响当前会话(甚至可能是当前页面)。 不影响数据库!
【讨论】:
【参考方案3】:正如@colmde 已经指出的那样,OpenCart 使用自定义 error_handler。
您可以通过以下方式关闭错误显示,而无需进行任何代码编辑(尤其是 OpenCart 核心文件):
Admin->System->Settings->[edit your configured store]->Server->Display Errors
[编辑] 您可以通过对 OpenCart 数据库运行以下查询来执行相同操作:
update setting set `value`= 1 where `key` = 'config_error_display'
【讨论】:
为我工作:UPDATE 'TABLENAME'.'oc_setting' SET 'value' = '0' WHERE 'oc_setting'.'setting_id'=1057;
完全有效,原因是你在设置的时候选择使用oc_
前缀作为OpenCart表,所以setting
变成了oc_setting
。【参考方案4】:
OpenCart 仪表板中有一个设置允许您打开(或关闭)错误报告和日志记录。
-
登录您的仪表板
在菜单中,转到“系统”并选择“设置”
在商店列表中,为您的商店点击“编辑”
点击“服务器”标签。
向下滚动,有两个设置:
一种。记录错误 - 根据需要进行设置
湾。显示错误 - 将此设置为“否”
【讨论】:
【参考方案5】:你可以简单地使用
ini_set('display_errors', 0);
在系统/startup.php上
【讨论】:
我想做相反的事情:打开错误报告(结果很困难,但这有效!)【参考方案6】:OpenCart 使用 set_error_handler()
函数,这会导致它覆盖 error_reporting(0)
。
删除这个解决了我的问题。
【讨论】:
以上是关于无法在 OpenCart (PHP) 中禁用错误报告的主要内容,如果未能解决你的问题,请参考以下文章
将 http 更改为 https 后,opencart 管理员无法正常工作
php opencart crop调整大小#opencart