如何关闭 mysql 错误在 CodeIgniter 中显示到屏幕

Posted

技术标签:

【中文标题】如何关闭 mysql 错误在 CodeIgniter 中显示到屏幕【英文标题】:How to turn off mysql errors from being displayed to screen in CodeIgniter 【发布时间】:2010-09-22 06:14:19 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

找到答案:

config/database.php:

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

所以:

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

...应该禁用。

【讨论】:

我又懒又健忘,所以这样做$db['default']['db_debug'] = (ENVIRONMENT == 'developement') ? TRUE : FALSE; $db['default']['db_debug'] = ENVIRONMENT == 'developement';【参考方案2】:

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

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

// Do your sketchy stuff here

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

【讨论】:

【参考方案3】:

你不想改变 error_reporting 为 0,因为那会 也抑制错误 记录。

相反,您应该更改 display_errors 为 0

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

【讨论】:

【参考方案4】:

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

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

【讨论】:

以上是关于如何关闭 mysql 错误在 CodeIgniter 中显示到屏幕的主要内容,如果未能解决你的问题,请参考以下文章

如何关闭 PHP + MySQL 错误格式化

错误:MySQL 意外关闭。 XAMPP,如何修复损坏的表

如何修复XAMPP“Apache / mysql意外关闭”错误

MySQL错误文件[关闭]

如何在 Wamp_Server 中修复此错误? [关闭]

错误:无法检索请求的 URL