Difference between revisions of "PHP 7 Migration Guide"

From WHMCS Documentation

(→‎1. Install ionCube Loader 10.1)
(Redirected page to PHP Migration Guide)
Line 1: Line 1:
−
The version of PHP that the server hosting your WHMCS installation runs is important in order to run WHMCS successfully.
+
#REDIRECT [[PHP Migration Guide]]
−
 
 
−
<div class="docs-alert-success">
 
−
* The steps below apply to upgrades from PHP 5 to PHP 7.0, 7.1, 7.2, and 7.3.
 
−
* We recommend performing the steps below in the presented order for the best experience and a minimized risk of disruption or downtime.
 
−
</div>
 
−
 
 
−
== 1. Install ionCube Loader® 10.1 ==
 
−
 
 
−
ionCube Loader 10.1 includes support for a bundled encoding feature. This allows us to encode files that are compatible with all currently-supported versions of PHP. WHMCS 7.5 and later require ionCube Loader 10.1.
 
−
 
 
−
* For manual WHMCS updates, make certain that you install the most recent ionCube Loader version before you update.
 
−
* For updates using the [[Automatic Updater]], WHMCS will automatically check for the necessary version of ionCube Loader before beginning the update and alert you if you must update ionCube Loader first.
 
−
 
 
−
== 2. Upgrade to WHMCS 7.10 ==
 
−
 
 
−
WHMCS 7.10 supports all currently-supported versions of PHP. It includes a utility to identify ionCube-encoded custom or third-party code that may not be compatible with newer versions of PHP.
 
−
 
 
−
For a full index of PHP compatibility by WHMCS version, see [[System Environment Guide#PHP|PHP Compatibility Guide]].
 
−
 
 
−
== 3. Run the WHMCS PHP Version Compatibility Utility ==
 
−
 
 
−
The PHP version compatibility utility in WHMCS 7.5 and later can identify ionCube-encoded custom or third-party code may not be compatible with newer versions of PHP. We recommend running this utility before any change you make to your system's PHP version.
 
−
 
 
−
You can find this utility at '''Utilities > System > [[PHP Version Compatibility]]'''.
 
−
 
 
−
== 4. Assert Compatibility of Custom and 3rd Party Code ==
 
−
 
 
−
PHP 7 removed many [https://secure.php.net/manual/en/migration70.deprecated.php deprecated functions] and you must remove those from older code in order to prevent runtime errors. Additional changes in [http://php.net/manual/en/migration71.php PHP 7.1] and [http://php.net/manual/en/migration72.php PHP 7.2] may also affect older code.
 
−
 
 
−
* Manually verify this in any code that you wrote or customized.
 
−
* Check with third-party vendors to ensure that their code is compatible with the version of PHP that you want to use. Often, third-party vendors have already released updates to ensure this compatibility.
 
−
 
 
−
== 5. Upgrade PHP ==
 
−
 
 
−
Before you upgrade PHP, make '''certain''' that:
 
−
 
 
−
* You have the necessary ionCube Loader version for your target PHP version.
 
−
* You have a version of WHMCS that supports your target PHP version.
 
−
* Any ionCube-encoded custom or third-party code's encoding is compatible with your target PHP version.
 
−
* Any custom or third-party code is compatible with your target PHP version.
 
−
 
 
−
Then, proceed to upgrade the PHP version your site is running:
 
−
 
 
−
* If you run cPanel & WHM and EasyApache 4, you can switch the version of PHP your site is running using '''[https://docs.cpanel.net/cpanel/software/multiphp-manager-for-cpanel/ MultiPHP]''' in your cPanel control panel.
 
−
* For other control panels or systems, consult the vendor's documentation.
 
−
 
 
−
== Errors ==
 
−
 
 
−
If you experience any of the following error conditions when visiting a URL in WHMCS, there may be compatibility issues with your new PHP version:
 
−
 
 
−
* A 500 internal server error
 
−
* A blank page
 
−
* An oops error page
 
−
 
 
−
For help, see [[PHP 7 Migration Troubleshooting Guide]]. For an immediate solution, revert to the previous PHP version should allow you to regain access to the WHMCS system.
 
−
 
 
−
''Last Updated: March 2020''
 

Revision as of 15:52, 7 September 2022