3

I've just clicked to upgrade my site from WP 4.6.x to 4.7, but it has failed with little clue of what's wrong.

The front end still loads and works fine, but when I try and login to the back end, it sends me to this empty page:

http://www.example.com/wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F

I've checked here, but when I log in with FTP there is no .maintenance file to delete.

Also, looking in the wp-admin folder, there does not appear to be an upgrade.php file that the above URL seems to refer to.

Any ideas on how I can get back access to the backend again and/or how to complete the upgrade successfully?

PS - I last updated my plugins only a few hours ago and the site was working fine then.

Edit

I've turned on WP_DEBUG in my wp-config.php file, and when I try to login I am now taken to...

http://www.example.com/wp-admin/

...which gives this output...

Notice: The called constructor method for WP_Widget in Woo_AdWidget is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in Woo_BlogAuthorInfo is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in Woo_EmbedWidget is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in Woo_flickr is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in Woo_Subscribe is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in Widget_Woo_Portfolio is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in Woo_Widget_Component is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in dk_speakup_petition_widget is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in search_FAQ_Widget is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in random_FAQ_Widget is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in recent_FAQ_Widget is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in topics_FAQ_Widget is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Notice: The called constructor method for WP_Widget in cloud_FAQ_Widget is deprecated since version 4.3.0! Use

__construct()

instead. in /home/public_html/example.com/wp-includes/functions.php on line 3846

Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/example.com/wp-includes/functions.php:3846) in /home/public_html/example.com/wp-includes/pluggable.php on line 1179

3 Answers 3

6

Try disabling your plugins directory. I've been fixing this repeatedly today. Disabling the plugin directory has, for me, allowed the page to load and complete the upgrade process. I suspect it is a specific plugin doing it but haven't determined which yet.

Update

If you have W3 Total Cache 9.5.1 installed, deactivate it and try again. That has been the common factor and what is throwing errors in our error logs. Disable it, run the upgrade, enable it again.

3
  • Thanks. For anyone else, here's how to disable your plugins directory: wpbeginner.com/plugins/… Commented Dec 7, 2016 at 9:42
  • In addition to this, I also commented out the plugin-related code from my site's .htaccess file. When I tried to login in again, the W3TC plugin still threw up an error saying that I had to delete the advanced-cache.php and object-cache.php files from my wp-content directory. When I did that, I could then login and was greeted with a nice blue button to complete the upgrade process. That all worked fine, so it was then just a case of re-activating the plugins directory and uncommenting the lines I had changed in the .htaccess file. Commented Dec 7, 2016 at 11:14
  • Also, I noticed I had 404 errors within my site after the update, so you can fix that by going to Settings > Permalinks and re-saving the settings. Commented Dec 7, 2016 at 15:05
4

I have about 20 sites to update to 4.7. Those without W3 Total Cache or with this deactivated previously are upgrading fine. Those with are problems. Also I have just gone in to deactivate W3 Total Cache on one and immediately went into error condition at the backend - frontend ok.

The solution that works is : Rename wp-contents/db.php, say by appending .old to the name. Move w3-total-cache folder out of plugins. Update WP to 4.7. Move w3-total-cache back. deactivate (if activated at this point) and reactivate W3 Total Cache.

If you are interested compare old and new db.php - the tests for existence and the includes differ significantly

0

For me, it was disabling the direct FS_METHOD that did the trick.

I removed the following from wp-config.php

define('FS_METHOD', 'direct');

saved , launched the update again, entered my FTP credentials and it completed.

Put the FS_METHOD to direct back in after.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.