[wp-trac] [WordPress Trac] #13320: WordPress & nginx compatibility: core/upgrade plugins progress bar needed

WordPress Trac wp-trac at lists.automattic.com
Mon May 10 12:43:36 UTC 2010


#13320: WordPress & nginx compatibility: core/upgrade plugins progress bar needed
-----------------------------+----------------------------------------------
 Reporter:  FractalizeR      |       Owner:  dd32              
     Type:  enhancement      |      Status:  new               
 Priority:  normal           |   Milestone:  Unassigned        
Component:  Upgrade/Install  |     Version:  2.9.2             
 Severity:  normal           |    Keywords:  flush nginx apache
-----------------------------+----------------------------------------------
 Hello

 Many hosting providers use nginx together with Apache to speed up their
 shared hosting servers. And nginx is usually set up as

 {{{
 location / {
     proxy_read_timeout = 60
 }
 }}}

 So, when user called /wp-admin/upgrade.php to upgrade core or plugins,
 wordpress actually stops sending any information to Apache (PHP buffers
 even those several messages which are sent out) until core or plugin is
 fully updated.

 This operation on big plugins and especially WP core takes much more time,
 than 60 seconds. So, this makes hoster server effectively incompatible
 with WordPress. And unless hosting company is willing to help it's
 customer to change nginx settings (which is not always a desired move
 because of stability issues), customer is left out with a need to upgrade
 both WordPress and it's plugins manually.

 My suggestion is to periodically send some information to apache at least
 each 10-30 seconds when upgrade is in process. It may be a javascript
 progress bar function calls, or just an empty tag like <div
 style="display: none;"></div> immediately followed by PHP call flush()
 (and may be, ob_flush of needed).

 Also it may be required to send enough data this way (inserting, may be
 some string like "GGGGGGGGGGGGGGGGGGGGGGGGGGG" inside invisible <div> to
 make Apache modules like mod_gzip to flush their buffers to nginx also if
 they are enabled.

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/13320>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list