无法在OpenCart(PHP)中禁用错误​​报告

时间:2013-06-05 08:51:49

标签: 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_startup_errors', 'Off');

php_info();

echo $my_undefined_var;

php_info()输出确认display_errors和error_reporting确实关闭且为0,但我仍然收到通知,

  

注意:未定义的变量:/my/site/path/index.php?blahblah中的my_undefined_var ...

请注意,这是一个OpenCart网站(我的更改位于“管理”部分)。我尝试在index.php所在的目录中创建一个测试php脚本,没关系。

还有什么可以覆盖error_reporting(0)吗?

我已经完成整个网站的grep来查找和禁用error_reporting和display_errors的所有提及,但无济于事。

6 个答案:

答案 0 :(得分:25)

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

  1. 登录信息中心
  2. 在菜单中,转到“系统”并选择“设置”
  3. 在商店列表中,点击商店的“修改”
  4. 单击“服务器”选项卡。
  5. 向下滚动,有两种设置:
    一个。记录错误 - 根据需要设置 湾显示错误 - 将其设置为“否”

答案 1 :(得分:11)

正如@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'

答案 2 :(得分:8)

OpenCart使用set_error_handler()函数使其覆盖error_reporting(0)

删除此问题解决了我的问题。

答案 3 :(得分:4)

你可以简单地使用

ini_set('display_errors', 0);

on system / startup.php

答案 4 :(得分:0)

OpenCart中的真实方式。

 $this->config->set('config_error_display', 0);
 $this->processAction(); // it throws ugly warning

我已经在我的模块的 控制器 中进行了测试。 只是为了在代码之前关闭显示错误。 它仅影响当前会话(可能甚至是当前页面)。 它不会影响数据库!

答案 5 :(得分:0)

对我有帮助: // error_reporting(E_ALL);

在文件startup.php中