WP 2.8.2 and 2.8.3 auto-upgrade failing due to fs_connect() returning false 'directory doesn't exist'
|Reported by:||jimsky7||Owned by:||dd32|
|Severity:||normal||Keywords:||has-patch needs-testing commit|
Under some conditions (may be because web server docroot differs from the FTP base directory) WP 2.8.2 and now WP 2.8.3 auto-upgrades fail. See discussion here with more details -> http://wordpress.org/support/topic/296758
When I try an auto-upgrade I get a message "Installation failed" before any attempt is even made to download the zip file.
Here's the detail I reported in that forum posting:
I have traced through the code that performs the auto-upgrade and for reasons not yet known to me it checks to see if the directory "/" exists (it's checking for ABSPATH and WP_CONTENT_DIR before it begins upgrading) and the check fails ... so my upgrade stops. No error message is being returned from fs_connect() [in file wp-upgrader.php] which is the routine that is called to check for existence of various directories before an upgrade can begin. I don't see why there's no error message generated (yet) in fs_connect(). I modified the code so it would skip checking if the directory name is "/" and my upgrade to 2.8.3 was performed just fine - took about 60 seconds.
wp_update_core() instantiates a Core_Upgrader and the ->upgrade method is invoked, and the Core_Upgrader does this
$res = $this->fs_connect( array(ABSPATH, WP_CONTENT_DIR) );
and fs_connect() performs a check on "/" (which is the FTP root directory rather than the docroot which in my case is /var/www/sky/) instead of what we expected ABSPATH to be and fails. For reasons unknown to me, no error is reported back to be shown in the window, so this is kind of tough to debug.
Sorry that I had to report this as WP 2.9 in Trac because 2.8.2 and 2.8.3 are not available as Version numbers in the popup.
Change History (7)
- Summary changed from WP 2.8.2 and 2.8.3 failing due to fs_connect() returning false 'directory doesn't exist' to WP 2.8.2 and 2.8.3 auto-upgrade failing due to fs_connect() returning false 'directory doesn't exist'
- Component changed from General to Filesystem
- Milestone changed from Unassigned to 2.9
- Owner set to dd32