在CakePHP系统中记录PHP致命错误

时间:2012-08-30 08:25:48

标签: cakephp logging cakephp-2.0 php

我需要记录我网站的致命错误。

我通常会检查CakePHP错误的error.log和debug.log文件 但我发现在某些地方没有记录与PHP相关的致命错误 还讨论了in this thread

我查了一下php.ini。 IT有以下几点:

log_errors = On
;error_log = filename

我无权更改php.ini。我可以要求管理员改变这一点,但似乎每次我需要改变时都需要问他:)我也担心性能问题。记录错误是否会降低性能?

所以我发现我可以在我的脚本中放入以下两行来记录错误并在需要时更改文件夹或文件名。

ini_set("log_errors", 1);
ini_set("error_log", "/path/to/php-error.log");

所以我想知道将这些行放在我的代码中的哪个位置?我应该把它放在AppController :: beforeFilter中吗?或者CakePHP 2配置中有更好的位置/解决方案吗?

3 个答案:

答案 0 :(得分:2)

这是一个老线程。 与此同时,蛋糕2.x错误都记录在生产模式中 - 所以也是致命错误。

触发一个并查看您的/tmp/logs/error.log

但你可以很容易地找到核心代码: https://github.com/cakephp/cakephp/blob/master/lib/Cake/Error/ErrorHandler.php#L189

答案 1 :(得分:1)

有框架定义的配置设置。您可以使用Error Handling configuration类。

以下是changing fatal error behavior链接,可帮助您实现相同目标。

答案 2 :(得分:0)