[wp-trac] [WordPress Trac] #18239: wp_ob_end_flush_all() hangs the output buffering, during plugin update/install
WordPress Trac
wp-trac at lists.automattic.com
Mon Jul 25 07:52:04 UTC 2011
#18239: wp_ob_end_flush_all() hangs the output buffering, during plugin
update/install
-----------------------------+-----------------------------
Reporter: mamborambo | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Upgrade/Install | Version: 3.2.1
Severity: minor | Keywords: output hangs
-----------------------------+-----------------------------
Symptom: During plugin update process, the screen displays "Downloading
{plugin}" then appears to hang.
System: Apache2 on LinuxMint-11
I traced the fault to the following function:
send_message() in /wp-admin/includes/misc.php
this function writes out the message, then tries to flush
the buffers by calling wp_ob_end_flush_all()
the mechanism of the ob_flush is to repeatedly call ob_end_flush until
there is no more levels.
On the default configuration of LinuxMint / Debian,
zlib.output_compression is ON, and this interferes with ob_end_flush
Based on notes from php.net, ob flushing is not necessary.
SOLUTION:
1) Either change php.ini to set zlib.output_compression to OFF, or
2) shortcircuit the wp_ob_end_flush_all() by adding an immediate return to
the first line.
RECOMMENDATION:
In future versions of Wordpress, the interaction between ob and zlib
should be studied carefully to derive the most universal solution.
--
Ticket URL: <http://core.trac.wordpress.org/ticket/18239>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list