There seems to be limited details of how this is done. It’s fairly simple to be honest, but I felt it could save somebody some time if it was documented.
In case you were wondering IonCube is a PHP encoder, usually used to stop people stealing your PHP code when you distribute it. Consequently to run the encoded PHP you require a “loader”, which will run it correctly.
If your server does not have IonCube loader installed these are the steps you need to take.
- Visit the IonCube loader page and choose a download for your operating system.
- In this case we will be selecting the Linux (x86) “.tar.gz” download for CentOS 4.
- Use “cd” to go to your home directory (usually /root).
- You need to download the file, issue: wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
- Next, extract the files from the tarball, issue: tar zxvf ioncube_loaders_lin_x86.tar.gz
- We now need to move the directory to the correct path, issue: mv ioncube /usr/local
- Next we need to change our active directory, issue: cd /usr/local/ioncube
- We now need to find out where the “php.ini” is stored, issue: php ioncube-loader-helper.php page=install-assistant
- You should see something similar to “<code>/usr/local/Zend/etc/php.ini</code>”.
- Also take note of the part that says “ioncube_loader_lin_4.4.so” we will use this file later.
- Next we need to edit the file, issue: nano /usr/local/Zend/etc/php.ini
- You can use any editor you like such as vi or pico.
- Find (ctrl+w) the [Zend] section of the “php.ini”, above the “zend_extension” line, place: zend_extension = /usr/local/ioncube/ioncube_loader_lin_4.4.so (followed by ctrl+x, Y then enter if using pico or nano).
- Finally issue: service httpd restart