Troubleshooting a broken website after switching PHP version
After switching PHP version you should thoroughly check your website(s). This is a list of troubleshooting steps that a website owner / web developer can take, including common fixes to fix a broken website (blank page or 'internal server error'). Please follow these steps:
1) Check every part of your website(s) thoroughly.
Make sure the homepage and sub-pages are loading. Specifically test contact forms, photo galleries, online stores, and any dynamically generated content.
2) 500 errors (internal server error) are hosting related, not server related.
There are many different server-related error codes, but 500 errors can usually be fixed by a website owner and do not require a server administrator. 500 'Internal Server Error' messages are often caused by a custom php.ini file that is no longer compatible. Open the main directory of your website using an FTP application (like FileZilla) or use the File Manager in your cPanel control panel. Navigate to the main directory (public_html), find the php.ini file and re-name it to php.ini.old to fix the problem.
3) Blank pages occur when PHP error messages are suppressed.
If your website displays a blank white page and does not show any clear error message, it's very likely a PHP error message is being suppressed. Instead of displaying an error message on your website, PHP will save it to a file called an error_log located in the main directory of your website. You can preview the error_log file on the Errors page in your cPanel control panel, or you can download the full life using any FTP application or the cPanel File Manager.
4) Most PHP warnings/errors are caused by old plugins/themes.
This is particularly true for websites running WordPress. Old plugins/themes generate a lot of PHP warnings (saved to the error_log file) and in some cases PHP fatal errors (which will stop your website loading altogether). Ideally there shouldn't be an error_log file at all, so if you find one, there is some work to do!
If it's a WordPress website, please login to your WordPress admin dashboard (add /wp-admin/ to your website address) and check what updates are available there. Newer versions of plugins/themes will have security and performance benefits. If you are a website owner using WordPress, updating the core software and any plugins/themes should be a routine task for your website manager or IT person (or use auto-updates).
5) Need to roll back to an older PHP version?
If you need to roll back your hosting account back to an older PHP version, you can do this in your cPanel control panel using the 'Select PHP Version' page (on CloudLinux servers) or 'MultiPHP Manager' page (on MultiPHP servers). You can select PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, or 7.3 on this interface. If your website has issues working on PHP 7.3, test it with PHP 7.2, then PHP 7.1, then PHP 7.0 and finally PHP 5.6.If you have already selected a particular PHP version, it should remain active after the server update.
6) Contact forms and e-commerce websites
If your website has a Contact form (or any PHP web script that sends outgoing email), make sure it's working by submitting a test email. If it's an e-commerce website, submit a test order.
7) Two points which only apply if you are upgrading your website from PHP 5.5 or earlier:
- When a web script connects to an email server in PHP 5.6 or greater, the SSL certificate is validated. This does not happen in PHP 5.5 or earlier. Therefore, the mail server must have a valid SSL certificate. Users connecting to a mail provider with a self-signed certificate will not be able to connect in PHP 5.6 or greater. Our own mail servers all use a valid SSL certificate so there shouldn't be any problem connecting to them. It might be an issue with other email providers and some clients might need to revert to PHP 5.5.
- Importantly, PHP 5.6 also checks the certificate name matches, which means web scripts must connect to the actual mail server hostname (the server hostname listed in your hosting account signup email) instead of their mail hostname alias (mail.yourdomain.com).
8) Still experiencing issues?
If you encounter any technical problems, don't hesitate to get in touch and our team will be happy to assist you. Remember to include your website address, steps on how we can replicate the problem and also any PHP error message that you've encountered.
Please open a support ticket: https://secure.spiralhosting.com/submitticket.php