How to install Ioncube Loader on CentOS 7 or RHEL 7 or Debian 8

1. Introduction

Ioncube loader is a PHP module or extension which makes PHP files or websites more secure. It also helps in speeding up webpages. It encrypts PHP language and used for many other PHP applications.

2. Requirements

Before installing ioncube loader your server must have php installed on both CentOs 7 and Debian 8.

3. Download and extract Ioncube Loader

I will be downloading the 64-bit version of ioncube loader as my system is a 64-bit server.

# cd /usrlocal/src
# wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
# tar xfz ioncube_loaders_lin_x86-64.tar.gz

4. Configure ioncube loader

To configure ioncube we need to know which version of PHP is running.

Check the PHP version using the command:

# php -v
PHP 5.4.45 (cli) (built: Sep 30 2015 15:42:23) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

Now check PHP extension directory using the following command

# php -i | grep extension_dir
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules

Note: not all versions of PHP use the same location. It may be different for other servers. Use exact location that you get.

Open the ioncube folder and copy the ioncube loader file that matches your PHP version.

# ls /usr/local/src/ioncube
# cp /usr/local/src/ioncube/ioncube_loader_lin_5.4.so /usr/lib64/php/modules

The next configuration step is a bit different for Centos and Debian/Ubuntu. We will have to add a line:

zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_5.4.so

For CentOs 7:

Open the file /etc/php.ini and add the following line:

zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_5.4.so

Now, restart the apache service.

# service httpd restart

For Debian 8:

In Debian there are separate php.ini files for PHP CLI, CGI, Apache2 and FPM mode such as:

/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
/etc/php5/cgi/php.ini
/etc/php5/fpm/php.ini

Add zend_extension to the files and save:

zend_extension = /usr/lib/php5/20131226/ioncube_loader_lin_5.6.so

Now, restart apache service.

# service apache2 restart

5. Check result

In centos7

# php -v
PHP 5.4.45 (cli) (built: Sep 30 2015 15:42:23) 
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.

In Debian 8

# php -v
PHP 5.6.14-0+deb8u1 (cli) (built: Oct  4 2015 16:13:10) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.0.19, Copyright (c) 2002-2015, by ionCube Ltd.
  with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

You can also check ioncube in the phpinfo() page in web browser.

Centos 7
ioncube-loader

Debian 8
ioncube-loader-debian