这是在 IIS 6.1 上运行的带有 PHP 5.3.6 的 Windows 2008 R2 标准服务器(内部版本 7601:Service Pack 1)
我的 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。
有任何想法吗?
两件事情..
log_errors = On
在你的 php.ini"C:\inetpub\temp\php_errors.log"
:)