At this moment cPanel does not support ionCube Loader 5 on WHM/cPanel servers, which will cause issues for client running files made with ionCube v9. cPanel currently installs ionCube PHP Loader v4.7.5, when you install PHP using cPanel EasyApache utility.
Your standard php -v
output on cPanel server might look something like this.
root@server [~]# php -v PHP 5.4.45 (cli) (built: Dec 14 2015 17:18:43) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies with the ionCube PHP Loader v4.7.5, Copyright (c) 2002-2014, by ionCube Ltd.
If you want to install, or upgrade current ionCube PHP Loader on your server to version 5, you can do so manually by downloading the latest version from http://www.ioncube.com/loaders.php, and editing your global or account custom php.ini file.
How to install ionCube Loader manually on cPanel or standard Linux servers with no control panel.
Download the latest loader to your server from http://www.ioncube.com/loaders.php.
If you are running 32 bit server used the following command:
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
If you are running 64 bit server use the following command:
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Unpack the package:
On 32 bit server:
tar xvzf ioncube_loaders_lin_x86.tar.gz
On 64 bit server:
tar xvzf ioncube_loaders_lin_x86-64.tar.gz
It will create ioncube folder in the same directory where you downloaded the file.
If you need to install ionCube Loader for PHP 5.4 you will use ioncube_loader_lin_5.4* files, and if you need to install it for PHP 5.5 you will use ioncube_loader_lin_5.5* files, and similar for other PHP versions.
root@server [~]# ls ioncube ./ ioncube_loader_lin_4.4_ts.so* ioncube_loader_lin_5.3.so* ioncube_loader_lin_5.6_ts.so* ../ ioncube_loader_lin_5.0.so* ioncube_loader_lin_5.3_ts.so* LICENSE.txt ioncube_loader_lin_4.1.so* ioncube_loader_lin_5.0_ts.so* ioncube_loader_lin_5.4.so* loader-wizard.php ioncube_loader_lin_4.2.so* ioncube_loader_lin_5.1.so* ioncube_loader_lin_5.4_ts.so* README.txt ioncube_loader_lin_4.3.so* ioncube_loader_lin_5.1_ts.so* ioncube_loader_lin_5.5.so* USER-GUIDE.md ioncube_loader_lin_4.3_ts.so* ioncube_loader_lin_5.2.so* ioncube_loader_lin_5.5_ts.so* USER-GUIDE.txt ioncube_loader_lin_4.4.so* ioncube_loader_lin_5.2_ts.so* ioncube_loader_lin_5.6.so* root@server [~]#
To replace the ionCube Loader for all the users on the server, you can just replace the extension file defined in the global php.ini at /usr/local/lib/php.ini
root@server [~]# grep zend_extension /usr/local/lib/php.ini zend_extension="/usr/local/IonCube/ioncube_loader_lin_5.4.so" root@server [~]#
You can rename the original file, for restore purposes, if something goes wrong, and place the new version file from ioncube folder that was created with package extraction.
mv /usr/local/IonCube/ioncube_loader_lin_5.4_ts.so /usr/local/IonCube/ioncube_loader_lin_5.4_ts.so_cporig mv /usr/local/IonCube/ioncube_loader_lin_5.4.so /usr/local/IonCube/ioncube_loader_lin_5.4.so_cporig cp ioncube/ioncube_loader_lin_5.4.so /usr/local/IonCube/ cp ioncube/ioncube_loader_lin_5.4_ts.so /usr/local/IonCube/
You can confirm the new version of ionCube Loader with php -v
, and look for “ionCube PHP Loader” part of the output.
root@server [~]# php -v PHP 5.4.45 (cli) (built: Dec 14 2015 17:18:43) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.0.19, Copyright (c) 2002-2015, by ionCube Ltd. root@server [~]# php -v | grep "ionCube PHP Loader" with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.0.19, Copyright (c) 2002-2015, by ionCube Ltd. root@server [~]#
Upgrade to ionCube Loader 5 on one cPanel account.
If you wanted to change the ion Cube Loader version for only one cPanel account, you can place the ioncube_loader_lin* files for the PHP version used by your client to some custom folder, and define zend_extension values inside a custom php.ini folder on a specific cPanel account.
tl;dr
ionCube Loader can be installed manually on any Linux server with following steps:
- Download latest version of ionCube Loaders from http://www.ioncube.com/loaders.php
- Unpack the downloaded package
- move the ioncube_loader_lin_* files for your PHP version to your extension folder.
- Point to the corresponding file in your php.ini file, example
zend_extension="/usr/local/IonCube/ioncube_loader_lin_5.4.so"