也可以从日志中抑制错误

时间:2014-01-25 20:08:52

标签: php mysql suppress-warnings

CodeIgniter 2.x仍使用经典mysql。我们都知道仍然使用它是不好的做法,但我的工作仍然要求我使用CodeIgniter。

我总是打开我的Console.app(OSX),观看我的Apache / MySQL / PHP / CodeIgniter-native错误日志。

现在我主要有所有通知/错误等。当我看到它们时总是立即修复,并在我的MAMP上用Webgrind不断监视我的开发。

回到开始;我经常有一个很烦人的事情,每个页面加载PHP总是会给出关于mysql_pconnect的错误将来会被弃用。

在CodeIgniter驱动程序中,@禁止该命令不将警告打印到屏幕上,但它仍然会在我的日志中结束。

除了PHP代码或PHP设置中的一个这样的错误之外,有没有可行的方法?

本地我可以重新编译整个PHP核心并删除警告,但我希望我们的生产设备上的日志也可以删除这些警告:P。

提前致谢!

1 个答案:

答案 0 :(得分:1)

传统上,您可以使用error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED)使用设置错误详细程度(即报告"disabling deprecated errors"中提到的除通知和弃用警告之外的所有内容。

您的问题可能与获取所有错误的CodeIgniter有关。

system/core/CodeIgniter.php调用函数set_error_handler。您可以在system/core/Common.php中找到并修改它在错误时调用的函数_exception_handler。它似乎不是可配置的,因此您可能只想编辑以$is_error开头的行。