24

即使 error_reporting 设置为 0,数据库错误仍会打印到屏幕上。我可以更改某个设置以禁用数据库错误报告吗?这是针对 CodeIgniter v1.6.x

编辑:回复:修复错误-嗯,是的。我想修复错误。我从我的错误日志中收到错误通知,而不是从我的访问者看到的打印到他们屏幕上的内容。这对任何人都没有帮助,并且损害了我系统的安全性。

编辑 2:将 error_reporting 设置为 0 不会影响 CodeIgniter 的内置错误日志记录类写入错误日志。

4

4 回答 4

65

Found the answer:

In config/database.php:

// ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.

so:

$db['default']['db_debug'] = FALSE;

... should disable.

于 2008-11-13T23:30:48.120 回答
12

除了伊恩的回答,暂时禁用错误消息:

$db_debug = $this->db->db_debug;
$this->db->db_debug = false;

// Do your sketchy stuff here

$this->db->db_debug = $db_debug;
于 2013-03-08T11:03:17.290 回答
6
  • 您不想将 error_reporting 更改为 0,因为这也会抑制记录错误。

  • 相反,您应该将 display_errors 更改为 0

这并不能解释为什么您会显示错误,假设 error_reporting 实际上是 0。也许框架会处理这些错误

于 2008-11-13T22:51:58.307 回答
3

您可以编辑应用程序目录下的 /errors/db_error.php 文件 - 这是包含数据库错误的模板。

但是,您实际上应该只修复错误。

于 2008-11-13T22:54:39.393 回答