php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #15245 HTML output is corrupted unless implicit_flush turned on
Submitted: 2002-01-27 11:09 UTC Modified: 2002-05-25 00:00 UTC
Votes:6
Avg. Score:5.0 ± 0.0
Reproduced:6 of 6 (100.0%)
Same Version:4 (66.7%)
Same OS:4 (66.7%)
From: toni dot suokas at jippiigroup dot com Assigned: yohgaki (profile)
Status: No Feedback Package: Output Control
PHP Version: 4.1.1 OS: Windows XP Professional
Private report: No CVE-ID: None
 [2002-01-27 11:09 UTC] toni dot suokas at jippiigroup dot com
PHP 4.1.1 binaries (and earlier versions) using Apache 1.3.23 in Windows XP Prof. corrupts HTML output with random binary code to clients connecting from remote computers. Output in localhost is fine. This seems to happen if the HTML is lengthy. The problem can be solved turning implicit_flush from php.ini to on, but this is a rather poor solution as it degrades performance quite a lot. Below is an example of corrupted output, both from same source.
...
  <tr>
    <td align="right" onmouseover="menuOver(this)" onmouseout="menuOut(this)"><d?XT??XT?    /toi б?s/">Toimitus</a></div></td>
  </tr>
...
        <td colspan="3" align="right"><a href="/pelikonsolit/" class="blue"><b>Lue lis??...</b></a></td>
      </t?XT??XT?    r>
 ??    <td><img src="/images/items/bar_red.gif" width="7" height="11" alt="" border="0" /></td>
...

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-02-05 02:33 UTC] tonalgeek at hotmail dot com
Yes - I'm getting that bug.
It seems that things are fine when databases are not used, but when mysql is used repeatedly on a page this happens.

Look at this phpBB output:

[...]
	<td class="row1" width="100%" height="50"><span class="forumlink"> <a href="viewforum.php?f=1&amp;sid=aa0529cd144ad295d85f885c6d5ef9b2" class="forumlink">Talkabout Weird Stuff</a><br />
	  </s ??XT?     $  ??0   ?  $ I 3 0   ?  $ I 3 0   ?  $ I 3 0     $ I 3 0   L $ I 3 0   x $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   ( $ I 3 0   T $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   0 $ I 3 0   \ $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   8 $ I 3 0   d $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   @ $ I 3 0   l $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   H $ I 3 0   t $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   $ $ I 3 0   P $ I 3 0   | $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   , $ I 3 0   X $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   	 $ I 3 0   4	 $ I 3 0   `	 $ I 3 0   ?	 $ I 3 0   ?	 $ I 3 0   ?	 $ I 3 0   
 $ I 3 0   <
 $ I 3 0   h
 $ I 3 0   ?
 $ I 3 0   ?
 $ I 3 0   ?
 $ I 3 0    $ I 3 0   D $ I 3 0   p $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   L $ I 3 0   x $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   (
 $ I 3 0   T
 $ I 3 0   ?
 $ I 3 0   ?
 $ I 3 0   ?
 $ I 3 0    $ I 3 0   0 $ I 3 0   \ $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   8 $ I 3 0   d $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   @ $ I 3 0   l $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   H $ I 3 0   t $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   $ $ I 3 0   P $ I 3 0   | $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   , $ I 3 0   X $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   4 $ I 3 0   ` $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   < $ I 3 0   h $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   D $ I 3 0   p $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   L $ I 3 0   x $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   ( $ I 3 0   T $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   0 $ I 3 0   \ $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   8 $ I 3 0   d $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   @ $ I 3 0   l $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   H $ I 3 0   t $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   $ $ I 3 0   P $ I 3 0   | $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   , $ I 3 0   X $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   4 $ I 3 0   ` $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   <  $ I 3 0   h  $ I 3 0   ?  $ I 3 0   ?  $ I 3 0   ?  $ I 3 0   ! $ I 3 0   D! $ I 3 0   p! $ I 3 0   ?! $ I 3 0   ?! $ I 3 0   ?! $ I 3 0    " $ I 3 0   L" $ I 3 0   x" $ I 3 0   ?" $ I 3 0   ?" $ I 3 0   ?" $ I 3 0   (# $ I 3 0   T# $ I 3 0   ?# $ I 3 0   ?# $ I 3 0   ?# $ I 3 0   $ $ I 3 0   0$ $ I 3 0   \$ $ I 3 0   ?$ $ I 3 0   ?$ $ I 3 0   ?$ $ I 3 0   % $ I 3 0   8% $ I 3 0   d% $ I 3 0   ?% $ I 3 0   ?% $ I 3 0   ?% $ I 3 0   & $ I 3 0   @& $ I 3 0   l& $ I 3 0   ?& $ I 3 0   ?& $ I 3 0   ?& $ I 3 0   ' $ I 3 0   H' $ I 3 0   t' $ I 3 0   ?' $ I 3 0   ?' $ I 3 0   ?' $ I 3 0   $( $ I 3 0   P( $ I 3 0   |( $ I 3 0   ?( $ I 3 0   ?( $ I 3 0    ) $ I 3 0   ,) $ I 3 0   X) $ I 3 0   ?) $ I 3 0   ?) $ I 3 0   ?) $ I 3 0   * $ I 3 0   4* $ I 3 0   `* $ I 3 0   ?* $ I 3 0   ?* $ I 3 0   ?* $ I 3 0   + $ I 3 0   <+ $ I 3 0   h+ $ I 3 0   ?+ $ I 3 0   ?+ $ I 3 0   ?+ $ I 3 0   , $ I 3 0   D, $ I 3 0   p, $ I 3 0   ?, $ I 3 0   ?, $ I 3 0   ?, $ I 3 0    - $ I 3 0   L- $ I 3 0   x- $ I 3 0   ?- $ I 3 0   ?- $ I 3 0   ?- $ I 3 0   (. $ I 3 0   T. $ I 3 0   ?. $ I 3 0   ?. $ I 3 0   ?. $ I 3 0   / $ I 3 0   0/ $ I 3 0   \/ $ I 3 0   ?/ $ I 3 0   ?/ $ I 3 0   ?/ $ I 3 0   0 $ I 3 0   80 $ I 3 0   d0 $ I 3 0   ?0 $ I 3 0   ?0 $ I 3 0   ?0 $ I 3 0   1 $ I 3 0   @1 $ I 3 0   l1 $ I 3 0   ?1 $ I 3 0   ?1 $ I 3 0   ?1 $ I 3 0   2 $ I 3 0   H2 $ I 3 0   t2 $ I 3 0   ?2 $ I 3 0   ?2 $ I 3 0  ?h??XT?     $  ?1?0   ?  $ I 3 0   ?  $ I 3 0   ?  $ I 3 0     $ I 3 0   L $ I 3 0   x $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   ( $ I 3 0   T $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   0 $ I 3 0   \ $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   8 $ I 3 0   d $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   @ $ I 3 0   l $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   H $ I 3 0   t $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   $ $ I 3 0   P $ I 3 0   | $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   , $ I 3 0   X $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   	 $ I 3 0   4	 $ I 3 0   `	 $ I 3 0   ?	 $ I 3 0   ?	 $ I 3 0   ?	 $ I 3 0   
 $ I 3 0   <
 $ I 3 0   h
 $ I 3 0   ?
 $ I 3 0   ?
 $ I 3 0   ?
 $ I 3 0    $ I 3 0   D $ I 3 0   p $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   L $ I 3 0   x $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   (
 $ I 3 0   T
 $ I 3 0   ?
 $ I 3 0   ?
 $ I 3 0   ?
 $ I 3 0    $ I 3 0   0 $ I 3 0   \ $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   8 $ I 3 0   d $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   @ $ I 3 0   l $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   H $ I 3 0   t $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   $ $ I 3 0   P $ I 3 0   | $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   , $ I 3 0   X $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   4 $ I 3 0   ` $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   < $ I 3 0   h $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   D $ I 3 0   p $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   L $ I 3 0   x $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   ( $ I 3 0   T $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   0 $ I 3 0   \ $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   8 $ I 3 0   d $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   @ $ I 3 0   l $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   H $ I 3 0   t $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0   $ $ I 3 0   P $ I 3 0   | $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   , $ I 3 0   X $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0    $ I 3 0   4 $ I 3 0   ` $ I 3 0   ? $ I 3 0   ? $ I 3 0   ? $ I 3 0     $ I 3 0   <  $ I 3 0   h  $ I 3 0   ?  $ I 3 0   ?  $ I 3 0   ?  $ I 3 0   ! $ I 3 0   D! $ I 3 0   p! $ I 3 0   ?! $ I 3 0   ?! $ I 3 0   ?! $ I 3 0    " $ I 3 0   L" $ I 3 0   x" $ I 3 0   ?" $ I 3 0   ?" $ I 3 0   ?" $ I 3 0   (# $ I 3 0   T# $ I 3 0   ?# $ I 3 0   ?# $ I 3 0   ?# $ I 3 0   $ $ I 3 0   0$ $ I 3 0   \$ $ I 3 0   ?$ $ I 3 0   ?$ $ I 3 0   ?$ $ I 3 0   % $ I 3 0   8% $ I 3 0   d% $ I 3 0   ?% $ I 3 0   ?% $ I 3 0   ?% $ I 3 0   & $ I 3 0   @& $ I 3 0   l& $ I 3 0   ?& $ I 3 0   ?& $ I 3 0   ?& $ I 3 0   ' $ I 3 0   H' $ I 3 0   t' $ I 3 0   ?' $ I 3 0   ?' $ I 3 0   ?' $ I 3 0   $( $ I 3 0   P( $ I 3 0   |( $ I 3 0   ?( $ I 3 0   ?( $ I 3 0    ) $ I 3 0   ,) $ I 3 0   X) $ I 3 0   ?) $ I 3 0   ?) $ I 3 0   ?) $ I 3 0   * $ I 3 0   4* $ I 3 0   `* $ I 3 0   ?* $ I 3 0   ?* $ I 3 0   ?* $ I 3 0   + $ I 3 0   <+ $ I 3 0   h+ $ I 3 0   ?+ $ I 3 0   ?+ $ I 3 0   ?+ $ I 3 0   , $ I 3 0   D, $ I 3 0   p, $ I 3 0   ?, $ I 3 0   ?, $ I 3 0   ?, $ I 3 0    - $ I 3 0   L- $ I 3 0   x- $ I 3 0   ?- $ I 3 0   ?- $ I 3 0   ?- $ I 3 0   (. $ I 3 0   T. $ I 3 0   ?. $ I 3 0   ?. $ I 3 0   ?. $ I 3 0   / $ I 3 0   0/ $ I 3 0   \/ $ I 3 0   ?/ $ I 3 0   ?/ $ I 3 0   ?/ $ I 3 0   0 $ I 3 0   80 $ I 3 0   d0 $ I 3 0   ?0 $ I 3 0   ?0 $ I 3 0   ?0 $ I 3 0   1 $ I 3 0   @1 $ I 3 0   l1 $ I 3 0   ?1 $ I 3 0   ?1 $ I 3 0   ?1 $ I 3 0   2 $ I 3 0   H2 $ I 3 0   t2 $ I 3 0   ?2 $ I 3 0   ?2 $ I 3 0 d user<br />The newest registered user is <b><a href="profile.php?mode=viewprofile&amp;u=1&amp;sid=aa0529cd144ad295d85f885c6d5ef9b2">TonalSiren</a></b></span></p>
[...]

I seem to be getting $I30 repeated.
 [2002-02-06 21:57 UTC] yohgaki@php.net
I found why you get corrupted output w/o ob_implicit_flush.
PHP was removing the last buffer enabled, I fixed this.
Therefore, real problem should be the last buffer you've enabled.

Could you locate the last buffer?
If it's a you buffer wrtten in PHP, I need only the output handler function.

I also need following php.ini entry settings

output_buffering
output_handler
zlib.output_compression
implicit_flush

 [2002-02-11 19:54 UTC] pmarks at employees dot org
I'm also experienceing this bug on Linux 2.4.4, running Apache 1.2.23 and PHP 4.1.1.  It also only appears on lengthy pages, but on one short one also.  In VIM, it shows up as a stream of characters looking like this:

^@^@^@^@^@... and so on.

Just confirming that this isn't limited to WindowsXP.
 [2002-03-20 14:57 UTC] wez@php.net
See also Bug #15613, which seems almost the same but
implicit_flush doesn't make a difference.
 [2002-04-24 19:33 UTC] yohgaki@php.net
Could you try 4.2.0 and report the result back?
 [2002-05-25 00:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Oct 30 22:01:28 2024 UTC