提问人: 提问时间:11/14/2008 最后编辑:Pathik Vejani 更新时间:10/13/2016 访问量:33680
如何在 CodeIgniter 中关闭 mysql 错误显示在屏幕上
How to turn off mysql errors from being displayed to screen in CodeIgniter
问:
即使error_reporting设置为 0,数据库错误仍会打印到屏幕上。是否有可以更改的设置以禁用数据库错误报告?这是针对 CodeIgniter v1.6.x 的
编辑:回复:修复错误 - 嗯,是的。我想修复错误。我从错误日志中收到错误通知,而不是从我的访问者看到打印到屏幕上的内容中收到错误通知。这对任何人都没有帮助,而且会损害我的系统安全性。
编辑 2:将 error_reporting 设置为 0 不会影响 CodeIgniter 的内置错误日志记录类写入错误日志。
答:
6赞
Tom Haigh
11/14/2008
#1
你不想改变 error_reporting 到 0,因为那样会 还可以抑制错误 登录。
相反,你应该改变 display_errors 到 0
这并不能解释你为什么会这样 显示错误, 假设error_reporting实际上是 0. 也许框架会处理这些错误
3赞
Eli
11/14/2008
#2
您可以编辑应用程序目录下的 /errors/db_error.php 文件 - 这是数据库错误包含的模板。
但是,您真的应该修复错误。
65赞
Ian Cook
11/14/2008
#3
找到答案:
在config/database.php:
// ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
所以:
$db['default']['db_debug'] = FALSE;
...应禁用。
评论
5赞
John Magnolia
8/30/2015
我懒惰健忘,所以这样做$db['default']['db_debug'] = (ENVIRONMENT == 'developement') ? TRUE : FALSE;
1赞
Draex_
5/31/2018
$db['default']['db_debug'] = ENVIRONMENT == 'developement';
12赞
NaturalBornCamper
3/8/2013
#4
除了 Ian 的回答之外,要暂时禁用错误消息:
$db_debug = $this->db->db_debug;
$this->db->db_debug = false;
// Do your sketchy stuff here
$this->db->db_debug = $db_debug;
评论