PHP error_log:不会写入指定文件

问题描述:

在我的Win XP Pro系统的IIS下运行PHP。我无法轻松调试我的脚本,因为让PHP写入我指定的错误日志。这里是相关的(我认为)php.ini条目:PHP error_log:不会写入指定文件

 
error_reporting = E_ALL & E_STRICT 
display_errors = Off 
log_errors = On 
error_log = "c:/php5/log/php.log" 

我有斜杠去以前的Windows/DOS方式。无论哪种情况,它都不会写入该目录中的文件php.log。日志文件可由IUSR_SERVERNAME写入,该目录可由IUSR_SERVERNAME写入,父目录可由IUSR_SERVERNAME写入。我相信我错过了一些愚蠢的东西。

任何提示?

+0

我发现了这个问题。我更新了我的答案。让我知道它是怎么回事 – 2009-08-28 14:00:08

您是否在PHP文件本身尝试过?

error_reporting(E_ALL | E_STRICT); 
ini_set('display_errors', 0); 
ini_set('log_errors', 1); 
ini_set('error_log', "c:/php5/log/php.log"); 

更新: 的问题是,您使用的是位与,你应该使用按位或

试试这个

var_dump(E_ALL); 
var_dump(E_STRICT); 
var_dump(E_ALL | E_STRICT); 
var_dump(E_ALL & E_STRICT); 

输出: INT(6143)INT(2048 )int(8191)int(0)

所以基本上你写的是

error_reporting = 0 

有效关闭错误报告。 将&更改为|在你的php.ini中,你应该没问题。

+0

有点错过了在INI文件中的点,但我会尝试它。 – hapes 2009-08-28 05:35:27

+0

至少记录了错误。 – hapes 2009-08-28 05:36:41

+1

php有时候是个婊子... – 2009-08-28 05:59:54