如何关闭 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 中显示到屏幕的主要内容,如果未能解决你的问题,请参考以下文章