这是 Windows 2008 R2 标准服务器,在 IIS 6.1(Build 7601:Service Pack 1)上运行 PHP 5.3.6
我的 PHP.ini 文件中有以下设置:
error_reporting = E_ALL & ~E_DEPRECATED
log_errors = On
log_errors_max_len = 1024
error_log = C:/inetpub/temp/php_errors.log
还尝试过这些:
error_log = C:\inetpub\temp\php_errors.log
error_log = C:\inetpub\wwwroot\php_errors.log
error_log = C:\windows\temp\php_errors.log
phpinfo()
报告上面显示的正确值。
但我仍然无法从 PHP 脚本获取任何代码来写入日志文件。我试过这个:
error_log("Database not available!", 0);
甚至这个:
asd();
这可能是权限问题,因为我也无法使用 fwrite 写入任何内容:
$fp = fopen('MyErrors.txt', 'a'); // this should go into the same directory
// as my script but it, too, is not writing
fwrite($fp, "Error Msg ". $emsg . "\n");
fclose($fp);
我设置了写入错误日志的文件夹和我尝试使用此信息写入文件的文件夹的权限: http://blog.chrismeller.com/enabling-php-write-access-on-iis
但我仍然无法在我的系统上的任何时间、任何位置写入 php-errors.log 或 MyErrors.txt。
有任何想法吗?
答案1
两件事情..
- 确保
log_errors = On
你的 php.ini - 用引号括住路径
"C:\inetpub\temp\php_errors.log"
:)