This had me hunting for a while till I figured this out. What ever folder you want your logs deposited to, don't create the log file yourself, let php do it for you. For some reason, if the log file already exists and it's 0 KB, PHP will try to re-create the log file and fail in the process. It never attempts to write to the pre-existing empty file, just fails on folder creation. Might be do to the folder permissions I have on windows, but this is what I found with read/write/modify permissions for IIS_IUSRS on Win2008. Once PHP has written to its self-created file successfully, it will append to the file on new errors. Process Monitor is my friend :)