2010-07-02 148 views
0

我与PHP的工作,并已得到了错误日志导通和关了:PHP错误日志记录不全面?

error_reporting = E_ALL | E_STRICT 

log_errors = On 
error_log = /path/to/file 
display_errors = Off 

现在这个日志文件捕获大多数PHP错误,但偶尔我会做出改变,并在页面无法显示没有记录到文件。

这方面的一个具体的例子是,如果我做的:

interface InterfaceClass 
{ 
    public function someFunction(); 
} 

class InterfaceInheriter implements InterfaceClass 
{ 
    final public function someFunction() 
    { 

    } 
} 

    class FirstDerived extends InterfaceInheriter 
    { 
     public function someFunction() 
     { 

     } 
} 

现在,这一切都很好,我敢肯定,我已经取得了一些错误,但我在哪里可以得到解释反馈为了这?

答案: 由于我使用Wordpress,事实证明它是以某种方式筛选出一些日志消息。我通过为Wordpress设置适当的日志记录配置来修复它。

感谢您的帮助!

+0

我无法复制此内容。当然,我记录到Apache的error_log,但我得到[Fri Jul 02 02:49:04 2010] [error] [client 93.108.152.52] PHP致命错误:类InterfaceInheriter包含1个抽象方法,因此必须声明为抽象或在第10行执行/home/sites/main/a.php中剩余的方法(InterfaceInheriter :: someFunction) – Artefacto 2010-07-02 01:53:46

+0

对,对,我没有特别设计那个例子。我更新了一个我刚刚测试过的失败的问题,并且应该不会生成错误日志。 – radman 2010-07-02 02:11:50

+1

我还是得到一个错误:[Fri Jul 02 03:51:40 2010] [error] [client 93.108.152.52] PHP致命错误:无法在/ home/sites/main/a中覆盖最终方法InterfaceInheriter :: someFunction 。第16行 – Artefacto 2010-07-02 02:52:40

回答

1

尝试放置error_reporting(E_ALL | E_STRICT);在档案中。

+0

它已经在php.ini中设置。为什么需要重新设置一个函数? – icktoofay 2010-07-02 02:23:30

+0

如果包含该文件,并且执行链上更高的另一个脚本使用函数也设置error_reporting .. - 简单的事情来尝试调试时容易捕获.. – nathan 2010-07-02 02:34:32

+0

试过了,错误得到正确记录。我现在使用Wordpress,所以现在我只需要弄清楚它有什么愚蠢的做法来选择性地过滤我的错误日志。 – radman 2010-07-02 03:42:06