如何防止CodeIgniter打印PHP错误

如何防止CodeIgniter打印PHP错误,php,codeigniter,logging,heroku,Php,Codeigniter,Logging,Heroku,我在Heroku Cedar实例上运行了一个CodeIgniter PHP应用程序 我们正在运行一个PHP应用程序,我们需要记录错误,但不需要将它们打印到屏幕上。无论我做什么,错误都会打印到屏幕上,这对生产是不安全的 以下是在我的本地环境和其他任何地方(除Heroku外)工作的PHP代码: 错误报告(E_全部)#我们关心所有的错误 ini_集('显示错误',0)#但是不要打印到屏幕上 我已经看到有人建议我尝试添加一个定制的CodeIgniter日志类,但这并没有起作用 我还向应用程序添加了一

我在Heroku Cedar实例上运行了一个CodeIgniter PHP应用程序

我们正在运行一个PHP应用程序,我们需要记录错误,但不需要将它们打印到屏幕上。无论我做什么,错误都会打印到屏幕上,这对生产是不安全的

以下是在我的本地环境和其他任何地方(除Heroku外)工作的PHP代码:


错误报告(E_全部)#我们关心所有的错误
ini_集('显示错误',0)#但是不要打印到屏幕上

我已经看到有人建议我尝试添加一个定制的CodeIgniter日志类,但这并没有起作用

我还向应用程序添加了一个
phpinfo()
,以检查下游是否覆盖了我的设置,但它显示
display\u errors
设置为“Off”


那么为什么我仍然看到屏幕上打印的错误呢?

事实证明,CodeIgniter 2.x有一些非常愚蠢的错误处理,他们使用自定义错误处理程序来忽略开发人员的配置。显然这是固定的

我可以通过注释自定义错误处理来修复它,对我来说,它位于CodeIgniter.php的第72行


//设置错误处理程序(“异常处理程序”);


或者最好的解决方案:首先不要使用CodeIgniter。

您是否尝试将这些错误规则包含在“生产”环境的
index.php
中?发现错误是纠正错误的第一步。或者,CodeIgniter 2.x是一个只针对那些代码从来没有bug的人的框架……好吧,你不能理解CI强迫你通过总是打印它们来修复所有错误/警告/通知:)。顺便说一句,我也使用了ci2.x,但没有遇到这个问题,您是否正确设置了
环境
变量?