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:
- For HostBill installed using Enterprise script, refer to this guide: Upgrade Ioncube loaders to latest version
- For HostBill installed on WHM/cPanel, refer to EasyApache guide to update your software profile with latest ioncube
- For HostBill installed on Plesk: When this article was written latest loaders were part of php 7.2 profile in Plesk, previous php versions requires updating loaders manually.
Upgrade to latest HostBill version
Once ioncube loaders are updated, we need to update to latest HostBill version. To do that, use Auto-Upgrade plugin, as with any other update or proceed with manual update. Refer to Auto-Upgrade plugin FAQ in case of any issues with it.
Download latest plugin versions
HostBill ships its plugins in separate zip files, so you need to update them separately to make sure they support PHP version you plan to upgrade to.
Fortunately, we provide fast & effortless way of doing this:
- Login to license management portal at https://clients.hostbillapp.com/
- 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.