Can';t在OpenCart(PHP)中禁用错误报告

Can';t在OpenCart(PHP)中禁用错误报告,php,opencart,error-reporting,ini-set,Php,Opencart,Error Reporting,Ini Set,我似乎无法在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_

我似乎无法在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/site/path/index.php中的my_Undefined_var?blahblah

注意这是一个OpenCart网站(我的更改在管理部分)。我尝试过在index.php的同一目录中创建一个测试php脚本,效果很好

是否还有其他内容可以覆盖
错误报告(0)


我对整个站点进行了grep,以查找并禁用所有提到的错误报告和显示错误,但没有效果。

OpenCart使用
set\u error\u handler()
函数,该函数使其覆盖
错误报告(0)

删除此选项修复了我的问题。

您只需使用

ini_set('display_errors', 0);

在system/startup.php上,@colmde已经指出OpenCart使用自定义错误处理程序

您可以通过以下方式关闭错误显示,而无需任何代码编辑(尤其是OpenCart核心文件):

Admin->System->Settings->[编辑配置的存储]->服务器->显示错误

[编辑] 您可以通过对OpenCart数据库运行以下查询来执行相同的操作:

update setting set `value`= 1 where `key` = 'config_error_display'

OpenCart仪表板中有一个设置,允许您打开(或关闭)错误报告和日志记录

  • 登录你的仪表板
  • 在菜单中,转到“系统”并选择“设置”
  • 在门店列表中,单击门店的“编辑”
  • 单击“服务器”选项卡
  • 向下滚动,有两个设置:
    A.日志错误-根据需要进行设置
    B显示错误-将此设置为“否”
  • OpenCart中的真实方式

     $this->config->set('config_error_display', 0);
     $this->processAction(); // it throws ugly warning
    
    我已经在模块的控制器中进行了测试。 只需在代码之前关闭显示错误。 它只影响当前会话(甚至可能影响当前页面)。 它不会影响数据库

    对我有帮助: //错误报告(E_全部)


    在文件startup.php中,将log_errors设置为1有什么意义?你想记录什么?除此之外,这个标题让我自然发抖。我真的不想记录任何东西。。。我在另一个论坛上读到,要禁用错误显示,您可能必须启用错误日志记录,这对我来说没有意义,但我正处于尝试任何事情的阶段。但是,如果我把它拿出来,没有什么区别。我想做相反的事情:打开错误报告(结果很难,但这很管用!)对我来说有效:
    UPDATE'TABLENAME.'oc\u setting'SET'value'='0',其中'oc\u setting.'setting\u id'=1057
    完全有效,原因是您选择在设置期间为OpenCart表使用
    oc\u
    前缀,因此
    setting
    变成了
    oc\u setting