Duplicator’s New Migration Service: Move Your Website Without Lifting a Finger
Duplicator’s New Migration Service: Move Your Website Without Lifting a Finger
You’ve spent hours preparing for what should be a simple site migration. Your backup files are ready, your new hosting account is set up, and you’re confident this will go smoothly.
Then you restore the backup and visit your site. White screen. Nothing loads.
You check the error logs and see something about “Fatal error” and “PHP version.” Your stomach drops because you realize what happened — your backup was created on an older PHP version, but your new server runs a newer one.
When your backup was created on an older PHP version, but your destination server runs a newer one, the code that worked perfectly before can suddenly break.
Plugins stop functioning. Themes throw errors. Your entire site can become inaccessible.
I’m going to show you two reliable methods to solve this problem. Both approaches work, but they serve different situations depending on how critical your site is and how comfortable you are with testing environments.
PHP version mismatches happen for four main reasons, and chances are you’re dealing with one of these situations right now.
1. Migrating to a new web host
Your old host might have been running PHP 7.4, but your new host defaults to PHP 8.1 or 8.2. Most hosting companies automatically set up new accounts with the latest supported PHP version.
2. Your current host requires a PHP version upgrade
Hosting providers regularly phase out older PHP versions for security reasons. You might get an email saying “PHP 7.4 support ends in 60 days” — meaning all of your previous backups will have an outdated PHP version.
3. Moving from local development to a live server
Your local development environment might be running on an outdated PHP version. When you’re ready to go live, your hosting account runs something much newer.
4. Restoring a very old backup onto a modern server
Maybe you’re recovering from a disaster using a backup that’s six months or two years old. The server environment has likely been updated multiple times since that backup was created.
In every case, the core issue is the same: code that worked perfectly on the old PHP version suddenly breaks on the new one.
The most common result of a PHP version mismatch is the White Screen of Death (WSOD). Your site loads, but all you see is a blank white page. No content, no navigation, nothing.
What’s happening here comes down to deprecated functions. When PHP gets updated, old commands and functions get removed.
Other troublemakers are incompatible plugins and themes. WordPress core stays pretty good about backward compatibility, but plugins — especially older ones or those that haven’t been updated recently — can break completely on newer PHP versions.
Here are two proven methods to handle this situation.
The first is more direct but carries some risk. The second is safer but requires more setup time.
If you’re trying to move a backup to a server with a more updated PHP version, you could downgrade the new server’s PHP temporarily. Upload the backup in a compatible environment, then update the server’s PHP again.
This is the most straightforward approach when you need to get a site running quickly.
How you downgrade the new website’s PHP version depends on its host.
For DreamHost users, go to Manage Websites » PHP Version.
Then, select the PHP version that matches your backup. Hit Change PHP Version.
For Bluehost, this will be in your site settings.
Locate the PHP Version section and change it.
For more detailed information on changing a site’s PHP version, read our tutorial!
Now restore your backup to the server. Since both environments match, the migration should complete without errors.
Duplicator Pro‘s drag-and-drop import feature makes this step much more reliable. Instead of dealing with manual file uploads and database imports that can timeout, you just drag your backup archive file into the Import page.
Once your site is restored and working, you can update it to run on the newer PHP version.
Log into WordPress admin and deactivate all plugins. Switch to a default WordPress theme (like Twenty Twenty-Five or Twenty Twenty-Four). Update WordPress core to the latest version.
Go back to your hosting panel and upgrade the PHP version.
Update all your plugins and your theme to their latest versions. Reactivate plugins one at a time, checking that your site still works after each one.
Once everything is updated and working correctly, create a new backup. This gives you a clean package that’s compatible with modern PHP versions for future migrations.
This method is safer for critical websites because you do all the testing offline before touching your live environment.
You’ll need to set up a local development environment. Here are some in-depth installation tutorials for popular local software:
For this post, I’ll be using Local by Flywheel. This tool lets you create WordPress sites on your computer with any PHP version you need.
In LocalWP, create a new blank WordPress site and set its PHP version to match your old backup. If your backup came from PHP 7.4, configure the local site to use PHP 7.4.
Continue setting up the local site. After this, hit the WP Admin button to log in.
Install Duplicator Pro and import your old backup into the site. Once it’s restored and working locally, update everything: WordPress core, all plugins, and your theme.
Now switch your local site’s PHP version to your target version. On LocalWP, open the site details in the app and find the correct PHP version setting. Hit Apply.
Test everything thoroughly. Click through your site, test contact forms, and check that all pages load correctly.
Once your local site works perfectly on the new PHP version, create a new backup of this updated local site.
This new backup can be migrated to your live server without any PHP version conflicts. The migration should be smooth since everything is already compatible.
Even after following these methods, your site might still break. When this happens, an incompatible plugin is usually the culprit.
The fastest way to diagnose this is to deactivate all plugins without accessing your WordPress admin. You can do this through your hosting file manager or FTP by renaming the plugins folder to something like plugins-deactivate.
This immediately deactivates every plugin.
If your site loads after disabling plugins, you know one of them was causing the problem. Reactivate them one by one until you find the troublemaker.
If plugins aren’t the issue, your theme might be incompatible. Try switching to a default WordPress theme like Twenty Twenty-Five and see if the error goes away.
Use the latest stable PHP version that your hosting provider supports and that all your plugins are compatible with. Check each plugin’s WordPress.org page to see what PHP versions they officially support.
No, Duplicator handles moving files and databases between servers, and PHP is a server-level setting controlled by your hosting provider. Duplicator makes the migration process reliable, but you still need to manage the PHP environment yourself.
Check each plugin’s page on wordpress.org. Look at the Last updated date and the supported PHP versions. If a plugin hasn’t been updated in over a year, it might have PHP compatibility issues. Consider finding an alternative before upgrading.
Temporarily downgrading for a migration is fine, but don’t leave your site on an old PHP version long-term. Older PHP versions have known security vulnerabilities that won’t get patched. Complete your migration and upgrade process as quickly as possible.
Solving PHP version mismatches comes down to a methodical approach. You’re either bringing your destination server down to match your backup’s PHP version, or you’re updating your backup to work with the newer server environment.
Both strategies work reliably when you follow the steps carefully. The downgrade-migrate-upgrade method gets you results faster. The local testing approach takes more time, but eliminates risk for critical sites.
The migration itself doesn’t have to be complicated. Duplicator Pro handles the technical details of moving files and databases, so you can focus on managing the PHP compatibility process. Try it out today!
With the right approach, a PHP version mismatch becomes just another step in your migration checklist rather than a crisis that breaks your site.
While you’re here, I think you’ll like these hand-picked WordPress resources:
Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. We only recommend products that we believe will add value to our readers.