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

24 php mysql codeigniter error-reporting

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

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

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

小智 65

找到答案:

config/database.php:

// ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
Run Code Online (Sandbox Code Playgroud)

所以:

$db['default']['db_debug'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

......应该禁用.

  • 我是懒惰而健忘所以这样做`$ db ['default'] ['db_debug'] =(ENVIRONMENT =='developement')?TRUE:FALSE;` (5认同)

Nat*_*per 12

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

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

// Do your sketchy stuff here

$this->db->db_debug = $db_debug;
Run Code Online (Sandbox Code Playgroud)


Tom*_*igh 6

  • 您不希望将error_reporting更改为0,因为这样还可以抑制记录错误.

  • 相反,你应该将display_errors改为0

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