PHP error_log: Won't write to specified file

為{幸葍}努か 提交于 2019-12-10 10:11:37

问题


Running PHP under IIS on my Win XP Pro system. I cannot debug my scripts easily because get PHP to write to the error log I specify. Here are the relevant (I think) php.ini entries:

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

I had the slashes going the Windows/DOS way before. In either case, it did not write to the file php.log in that directory. The log file is writable by IUSR_SERVERNAME, the directory is writable by IUSR_SERVERNAME, the parent directory is writable by IUSR_SERVERNAME. I'm sure I'm missing something stupid.

Any tips?


回答1:


Have you tried in the php file itself?

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");

Update: The problem is that you are using a bitwise AND where you should use a bitwise OR

Try this

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

output: int(6143) int(2048) int(8191) int(0)

So basically you are writing

error_reporting  =  0

Effectively turning off the error reporting. Change the & for an | in your php.ini and you should be ok.



来源:https://stackoverflow.com/questions/1344997/php-error-log-wont-write-to-specified-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!