Guide below is to help you plan your PHP upgrade strategy, and ensure HostBill works stable with no ioncube-broken files. This article assumes you're using HostBill on php 5.6 or 7.0 and plan to upgrade to 7.x. You should consider performing upgrade during lowest possible traffic.
Upgrade to latest Ioncube Loaders
First, ensure that you are using latest Ioncube Loaders. HostBill requires at least ionCube version 10.1 to function properly. Upgrade procedure for latest ioncube loaders can vary depending on server/software HostBill is deployed on:
Under "Services" locate license you wish to download all plugins for
Click on "Download all plugins"
Follow guide displayed on screen
Upgrade PHP to target version
Before doing this, consider enabling Maintenance Mode in your HostBill general settings.
Now its time to upgrade PHP to desired version. Procedure differs, depending on server/software HostBill is installed on.
Please consult related software vendor documentation for php upgrade guides.
Please ensure that installed PHP version consist all HostBill-required PHP extensions (System requirements)
As with every upgrade some things may need tidying up afterwards. Refer to Troubleshooting below for possible reasons and solutions.
Problem 1: I've updated all plugins as described above, yet still I'm getting errors like:
The file /home/hostbill/public_html/includes/modules/Other/customplugin/custom.php was encoded by the ionCube Encoder for PHP 5.6 and cannot run under PHP 7.1 or later. Please ask the provider of the script to provide a version encoded with the ionCube Encoder for PHP 7.1.
Reason 1: You most likely use some custom-built plugin that was encoded for older PHP version and need to be re-encoded.
Solution 1: If we've has built this plugin for you as a custom development service, please contact us using Custom Development Department at license management portal: https://clients.hostbillapp.com/ If you hold developer license, and extension causing problems was built by your developer, please contact him to solve this.
Problem 2: I've upgraded PHP to target version (7.x) but my client portal does not render, shows Our billing system encountered an temporary error instead.
Reason 2: Some php-error occurred. Detailed error descriptions are not shown on client portal for security purposes.
Solution 2: Login to admin portal and proceed to Extras → System Logs → Error log for detailed error explanation. It can be related to Problem 1, or other problem, like missing PHP extension.