0

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

我通常会检查 error.log 和 debug.log 文件中的 CakePHP 错误。
但我发现 PHP 相关的致命错误没有记录在某个地方。此线程
中也对此进行了讨论。

我检查了 php.ini。它有以下几行:

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 配置中有更好的地方/解决方案?

4

3 回答 3

2

这是一种旧思路。与此同时,cake 2.x 错误都以生产模式记录 - 致命错误也是如此。

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

但是您可以通过查看核心代码轻松找到: https ://github.com/cakephp/cakephp/blob/master/lib/Cake/Error/ErrorHandler.php#L189

于 2012-08-30T10:02:59.847 回答
1

有框架定义的配置设置。您可以使用错误处理配置类。

这是更改致命错误行为链接,这将帮助您实现相同的目标。

于 2012-08-31T04:35:08.710 回答
0

register_shutdown_function();

http://php.net/manual/en/function.register-shutdown-function.php

于 2012-08-30T09:12:48.450 回答