[wp-trac] [WordPress Trac] #18525: zlib.output_compression "on" in server conflicts with autoupdate

WordPress Trac wp-trac at lists.automattic.com
Wed Oct 5 08:16:23 UTC 2011


#18525: zlib.output_compression "on" in server conflicts with autoupdate
------------------------------------+------------------------------
 Reporter:  avidre                  |       Owner:
     Type:  defect (bug)            |      Status:  new
 Priority:  normal                  |   Milestone:  Awaiting Review
Component:  General                 |     Version:  3.2.1
 Severity:  normal                  |  Resolution:
 Keywords:  has-patch dev-feedback  |
------------------------------------+------------------------------

Comment (by dd32):

 The patch reverts [11020] - that being said, without knowing the original
 Notice it's hard to tell.
 Trunk will currently emmit a Notice: `Notice: ob_end_flush()
 [ref.outcontrol]: failed to delete buffer zlib output compression` when
 that function is called, your code/reverted code will produce it too, just
 hide it from display.

 I've played with it a bit, and it certainly helps push the content out in
 all configurations where some form of buffering is in use.

 Found a weird bug though, Opera can't handle the nullbytes.. or at least,
 not when it's part of the source, within HTML comment tags they're fine. I
 believe I've seen a similar bug for Safari, where a Null byte is on a
 chunk boundary, it can cause the rest of the page to be "lost" (just not
 rendered). (I'd link to an example, but I can't afford to have a 5+ second
 script running on my vps that search engines will hit :))

 Outputting the Nullbytes within HTML comments appears to get around it:
 {{{
 foreach ( range(1, 5) as $i ) {
         echo $i . '<br />';
         echo '<!--' . str_repeat(chr(0), 4096) . '-->';
         sleep(2);
 }
 }}}

 4k does appear to be the correct sizing to use for Apache's chunked
 handler as well, and should serve to be large enough for other web servers
 hopefully.

 also note, PHPDoc can't be parsed when it's inline like that I don't
 believe, so best to puts @links in the function docs rather than inline.

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/18525#comment:9>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list