[wp-trac] [WordPress Trac] #26056: Database is not upgraded in multisite if loopback is disabled

WordPress Trac noreply at wordpress.org
Fri Nov 15 21:17:06 UTC 2013


#26056: Database is not upgraded in multisite if loopback is disabled
------------------------------+-----------------------------
 Reporter:  creativeinfusion  |      Owner:
     Type:  defect (bug)      |     Status:  new
 Priority:  normal            |  Milestone:  Awaiting Review
Component:  Upgrade/Install   |    Version:  3.0
 Severity:  major             |   Keywords:
------------------------------+-----------------------------
 If on a server that disables loopback connections (like several shared
 hosting companies have implemented) when attempting to upgrade a WordPress
 Multisite the database is never upgraded from the normal upgrade process.

 The normal upgrade process fails on the Network Upgrade wp_remote_get call
 with
 {{{
 Warning! Problem updating http://domain/subsite. Your server may not be
 able to connect to sites running on it. Error message: couldn't connect to
 host
 }}}

 The intent seems to be that logging in to the site(s) would fix it as the
 help on the Upgrade Network page (/network/upgrade.php?action=upgrade)
 says
 {{{
 If this process fails for any reason, users logging in to their sites will
 force the same update.
 }}}
 but although logging in attempts the update, that also fails (but
 silently) as it also fails on the wp_remote_get.

 There's nothing that indicates the database version is out of step with
 the code and so no prompt. At least manually going to /wp-
 admin/upgrade.php and all /subsite/wp-admin/upgrade.php does fix it.

 To replicate:
 1) Get a server where loopback is disabled (or perhaps simulate it using
 the pre_http_request filter)
 2) Install multisite using WP 3.0
 3) Create a subsite
 4) Upgrade to latest WP version using the link in the admin
 5) Check the database version in the wp_options, wp_x_options table - or
 use this code to add the version into dashboard rightnow
 {{{
 add_action('rightnow_end','dbversion');
 function dbversion(){
         $dbv = get_option('db_version');
         echo "DB Version: $dbv";
 }
 6) Log in/out to main site and subsite - database version remains at the
 old level
 7) Manually visit the /subsite/wp-admin/upgrade.php page and upgrade it's
 database. The subsite db version will now be correct, but the main site
 will not until /wp-admin/upgrade.php is also visited
 }}}

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


More information about the wp-trac mailing list