Skip to Content

How to install ioncube on jump server?

How to install Ioncube on jumpserver or bastion host?


Overview: IonCube Loader is typically installed to enable PHP scripts encoded with IonCube to run on a server. These scripts are often proprietary or contain sensitive intellectual property and are encoded to protect them from unauthorized access or modification. By installing IonCube Loader, the server can interpret and execute these encoded scripts, allowing them to function as intended while maintaining their security measures.


The user needs root access to the server to configure Ioncube for PHP.

Step 1: Download the latest Ioncube version from the site mentioned below.

Users would need to identify whether your system architecture is 32-bit or 64-bit. The subsequent command would help you with it.

root@gateway:~# file /bin/ping

/bin/ping: setuid ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, stripped

As evident, the architecture is 64-bit.

Download the Ioncube package designed for 64-bit systems and extract it to /usr/local/ioncube.

root@gateway:~# tar -zxf ioncube_loaders_lin_x86-64.tar.gz && mv ioncube /usr/local

Step 2: Identify the PHP version you're running on your system.

root@gateway:~# php -v

PHP 8.1.26 (cli) (built: Nov 24 2023 08:49:33)

Step 3: Edit the PHP configuration file & add the corresponding Ioncube loader.

Load the Iocube version corresponding to the PHP version running on the server.

Example: If the PHP Version is 8.1, The Ioncube loader should be ioncube_loader_lin_8.1.so

  • For RHEL 8:

root@gateway:~# vi /etc/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.2.so

 

root@gateway:~# systemctl restart httpd

  • For Ubuntu 18:

root@gateway:~# vi /etc/php/7.2/cli/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.2.so

 

root@gateway:~# vi /etc/php/7.2/apache2/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.2.so

 

root@gateway:~# systemctl restart apache2

  • For Ubuntu 20:

root@gateway:~# vi /etc/php/7.4/cli/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.4.so

 

root@gateway:~# vi /etc/php/7.4/apache2/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.4.so

 

root@gateway:~# systemctl restart apache2

  • For Ubuntu 22:

root@gateway:~# vi /etc/php/8.2/cli/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_8.2.so

 

root@gateway:~# vi /etc/php/8.2/apache2/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_8.2.so

 

root@gateway:~# systemctl restart apache2

  • For Debian 9:

root@gateway:~# vi /etc/php/7.0/cli/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.0.so

 

root@gateway:~# vi /etc/php/7.0/apache2/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.0.so

 

root@gateway:~# systemctl restart apache2

  • For Debian 10/11:

root@gateway:~# vi /etc/php/7.3/cli/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.3.so

 

root@gateway:~# vi /etc/php/7.3/apache2/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.3.so

 

root@gateway:~# systemctl restart apache2

  • For SUSE LINUX 15:

root@gateway:~# vi /etc/php7/cli/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.4.so

 

root@gateway:~# vi /etc/php7/apache2/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.4.so

 

root@gateway:~# apachectl restart

  • For Debian 9 Nginx:

root@gateway:~# vi /etc/php/7.0/cli/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.0.so

 

root@gateway:~# vi /etc/php/7.0/fpm/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.0.so

 

root@gateway:~# systemctl reload nginx.service

root@gateway:~#  systemctl reload php7.0-fpm.service

  • For Centos 7:

root@gateway:~# vi /etc/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_8.1.so

 

root@gateway:~# systemctl restart httpd

  • For Centos 7 Nginx:

root@gateway:~# vi /etc/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_8.1.so

 

root@gateway:~# systemctl restart nginx

  • For Centos 8:

root@gateway:~# vi /etc/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.2.so

 

root@gateway:~# systemctl restart httpd

Step 4: Check the PHP version again to see whether Ioncube has been loaded properly.

root@gateway:~# php -v

PHP 8.2.19 (cli) (built: May 13 2024 18:20:15) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.19, Copyright (c) Zend Technologies
with the ionCube PHP Loader v13.0.2, Copyright (c) 2002-2023, by ionCube Ltd.
with Zend OPcache v8.2.19, Copyright (c), by Zend Technologies

Step 5: Ensure that Ioncube decoders are loaded by viewing the PHP configuration page.

root@gateway:~# vi /var/www/html/info.php

<?php
phpinfo();
?>

Access the information page, and it will display the loaded Ioncube version. As observed, ionCube version 12.0.5 is currently loaded.

Contact our support department if you face any further difficulties.


Related Articles:

Install and switch different versions of PHP in Ubuntu
Upgrade PHP to 8.1 in Debian
Upgrade PHP to 8.2 in OpenSUSE 15