ID: 13933
Updated by: zak
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Assigned
Bug Type: Output Control
Operating System: Windows NT4 SP6
PHP Version: 4.0.6
Old Assigned To: zak
Assigned To: yasuo
New Comment:

Assigning this to Yasuo :)


Previous Comments:
------------------------------------------------------------------------

[2001-12-12 04:51:21] [EMAIL PROTECTED]

Zak,  is this bug analyzed?
I'm trying to sort out output buffering problems.
Thanks.


------------------------------------------------------------------------

[2001-12-10 20:40:37] [EMAIL PROTECTED]

Assigning it to myself so that I don't forget about it. :)


------------------------------------------------------------------------

[2001-12-05 04:24:00] [EMAIL PROTECTED]

I finally found time to test. Here it goes. 

First of all, PHP config is:
error_log is not set
display_errors is off
log_errors is on
error_reporting is standard (E_ALL & ~E_NOTICE)

Then, the page I'm testing:
<?
error_log ("this is a test", 0);
header("Location: index.php");
?>

And finally, the results:
- in Apache's log file, I get these two lines:
[Wed Dec 05 10:09:59 2001] [error] [client 172.22.50.91] this is a test
[Wed Dec 05 10:09:59 2001] [error] [client 172.22.50.91] PHP Warning:  Cannot add 
header information - headers already sent in d:\wwwroot\htdocs\csf_recette\titi.php on 
line 3

- the source of the generated page displayed in IE is as follow, eventhough nothing 
has been output:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML>

Conclusion:
- error_log works fine, it does what I expect, but it might do a little more;
- PHP complains about something being output *before* the call to header. I've tried 
removing this call (to header), my message is logged, and I *still* get the same 
output;
- thus, somehow, the call to error_log produces PHP or Apache to generate this 
unexpected HTML code while logging;


I've tried almost the same settings on another server (difference in php.ini is 
display_errors on) and it works quite fine.

Could there be other parts of PHP's configuration, or even Apache's conf, altering the 
expected behaviour ?

------------------------------------------------------------------------

[2001-11-12 19:54:19] [EMAIL PROTECTED]

Status -> feedback (Zak! try to remember? :)


------------------------------------------------------------------------

[2001-11-12 17:01:23] [EMAIL PROTECTED]

Sounds like error_log() was generating an error message 
because the error_log directive was not set. Once the 
error message was generated, output would be sent to the 
browser, causing the headers to be sent and the header() 
call to fail.

Try unsetting the error_log directive in php.ini and run a 
script that only calls error_log().


------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/?id=13933


Edit this bug report at http://bugs.php.net/?id=13933&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to