| 
				     | 
				
| (One intermediate revision by the same user not shown) | 
| 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 Upgrade 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''
  |   |