当debug为0时,如何使用CakePHP记录php错误?

当debug为0时,如何使用CakePHP记录php错误?,php,cakephp,cakephp-1.2,Php,Cakephp,Cakephp 1.2,我想在debug=0的CakePHP站点上记录PHP错误。但是,即使打开错误日志,如下所示: error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED log_errors = On 它不会记录错误 问题是,即使对于一个应该导致CakePHP环境不能完全加载的解析错误,我认为它仍然会阻止错误被记录。如果我将debug设置为3,则它会毫无问题地登录到文件中 我使用的是CakePHP1.2。我知道这在1.3中显然变得更容易了,但我还没有

我想在debug=0的CakePHP站点上记录PHP错误。但是,即使打开错误日志,如下所示:

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
log_errors = On
它不会记录错误

问题是,即使对于一个应该导致CakePHP环境不能完全加载的解析错误,我认为它仍然会阻止错误被记录。如果我将debug设置为3,则它会毫无问题地登录到文件中


我使用的是CakePHP1.2。我知道这在1.3中显然变得更容易了,但我还没有准备好升级。

定义'LOG\u ERROR',2;在core.php中,无论CakePhp在做什么,php都应该将错误记录到自己的日志文件中


查看/etc/php.ini文件或您所在的任何地方,并搜索错误日志。这将显示PHP日志在系统中的位置。

另一种跟踪和记录错误的方法是使用,因为它提供了一种任意记录和捕获所有错误的方法,包括执行过程中发生的致命错误。

有时原因可能非常不同。例如,您正在使用的框架可能有自己的内部缓存模块,它在您继续尝试时将值保存在缓冲区中。检查是否生成了重复副本。通常,这些文件将命名为filename.ext.r123等等。

CakePHP 1.2-1.3中存在一个错误,当禁用调试时,视图代码中的PHP错误/警告将被抑制

在第664行的文件cake/libs/view/view.php中,它读取

@include ($___viewFn);
但是@directive会抑制整个视图处理程序的错误。相反,它应该是:

include ($___viewFn);

它允许在视图代码中生成PHP错误/警告,并随后记录。一旦我改变了这一点,并在core.php中设置了正确的日志记录设置,我终于能够在生产中获得完整的日志。

定义了使用log函数时的默认错误类型。他需要显式地记录state.cake重载php的错误记录,并在tmp/文件夹中执行。我相信这是通过CakeLog类完成的。不,当debug为0时,它不会记录到debug.log或error.log。虽然我可以确认这些文件存在,并且其中有日志。耶,这不起作用。当我将debug设置为3时,它会记录到我在PHP.ini中指定的文件中。当debug为0时,它不会。我可以复制这种行为。很有趣。应该有效,但它需要1.3。谢谢分享。这些都是我们自己的错误信息。框架无法控制PHP错误消息。您好。。。我正在调试一个旧的Cake 1.2项目,即使有您建议的更改,似乎也无法让日志正常工作。您是否必须对core.php进行任何其他更改?