Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

After migration of WordPress website I can't access the admin (white page)

I am trying to move a WordPress site from my local server to the online server.

The problem is that, after the migration, if I try to open the administration page (wp-admin) I only obtain a white page, as you can see here: http://scorejava.com/wordpress/wp-admin/. Everything else seems work well in the homepage: http://scorejava.com/wordpress/.

In my local web server I have the WP site into the folder: /var/www/wordpress. I have moved it into a wordpress folder that is into my root directory of my online web server.

I have also import the local database into the onlyne database using MySql and then I have use the Search and Replace for WordPress Databases Script to change automatically all the http://localhost/wordpress occurrence into the database tables with http://scorejava.com/wordpress/.

like image 474
AndreaNobili Avatar asked Mar 21 '13 20:03

AndreaNobili


People also ask

Can't login to WP admin after migration?

Try to rename the active theme to temporarily disable it and then try to access the admin. Try to disable all plugins by renaming them and check if you can access the admin panel.

Why is my WP admin page blank?

In many cases, a blank WordPress admin panel results from code errors in your currently active theme. You can resolve this by disabling the theme. However, since you cannot access your dashboard to do this, you have to disable your theme manually using FTP.


Video Answer


2 Answers

There is an error on your site, and you need to find out what's happening.

WordPress URLs

When migrating WordPress sites where the URL changes, you will need to tell WordPress about the new URL. WordPress stores that information in the database, so if you're comfortable with that, you could find the correct entry in the wp_options table in your database and update its value.

I will show some fixes for standard WordPress installs (where the site URL is the WordPress root), but you may need to use different values for home and siteurl if you have a different setup.

Fix URLs via SQL

You will need to update the relevant fields in the DB, those being the entries of wp_options where the option_name is siteurl or home. You can find these fields using phpmyadmin, mysql-workbench, or another database management tool, or you can use the following query, changing the URL to be your own.

UPDATE `wp_options` SET `option_value`='http://www.myurl.com' WHERE `option_name` IN ('siteurl', 'home');

Fix URLs via wp-config.php

However, you can also do this via wp-config.php, which I find to be much more comfortable. Just open wp-config.php and add the lines:

// Site URLS (override DB settings)
define('WP_HOME','http://www.myurl.com');     //<-- NO TRAILING /
define('WP_SITEURL','http://www.myurl.com');  //<-- NO TRAILING /

Obviously you'll need to supply your correct URL.

It's possible that this is the only error you're having, and after adding those lines to wp-config.php, you will be able to log in and use your site normally.

Debugging WordPress errors

However, if you continue to experience problems, and any time you're working on developing a website, you will want to see error output. You can check your server logs for information about the errors, but you may find it more convenient for WordPress to simply display the errors in the page. To enable error display, change the following setting to true in wp-config.php.

define('WP_DEBUG', true);

Now WordPress will display any errors it encounters directly in the webpage. Be sure to change the setting to false for use on a production site.

Working with wp-config.php

This file will be located in the root directory of your wordpress installation. To make any of the changes mentioned here, you may either edit the file directly on the server (via ssh for example), or download the file with an FTP client, make your changes using a text editor, and upload the file again.

It's also a good idea to keep a backup copy before making any changes in case you break something while you're working.

References

You can read all about changing the WordPress site URL on the docs page.

like image 130
Jon Surrell Avatar answered Oct 03 '22 01:10

Jon Surrell


Late To the party, I've experienced this recently and I managed to solve the issue. Here is what I've done.

Step 1: Set WP_DEBUG to true from the wp-config.php file

Step 2: I tried domain.com/wp-login.php instead of domain.com/wp-admin by this I was able to get atleast login form and some errors of Warning: Cannot modify header information - headers already sent by

Step 3: I've added ob_start(); in wp-login.php file after <?php in first line, of course to get me in for a while.

Step 4: This trick worked. I've disabled all the plugins, and errors are gone.

Step 5: Activated all the plugins one by one to find which plugin is causing error, So that I can fix the error in particular plugin. Like there was one plugin adding style before wp_enqueque_style so I set it to a function and hook it properly.

There were some minor errors too like deprecated functions. Its up to you whether you want to correct it or use alternate plugin.

And Don't forget to remove ob_start from wp_login.php file. The core files should not be changed.

Hope this helps someone like me.

like image 34
PHP Mentor Avatar answered Oct 03 '22 00:10

PHP Mentor