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?
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