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.

  1. 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.
  2. Use “cd” to go to your home directory (usually /root).
  3. You need to download the file, issue: wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
  4. Next, extract the files from the tarball, issue: tar zxvf ioncube_loaders_lin_x86.tar.gz
  5. We now need to move the directory to the correct path, issue: mv ioncube /usr/local
  6. Next we need to change our active directory, issue: cd /usr/local/ioncube
  7. 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 “/usr/local/Zend/etc/php.ini”.
    • Also take note of the part that says “ioncube_loader_lin_4.4.so” we will use this file later.
  8. Next we need to edit the file, issue: nano /usr/local/Zend/etc/php.ini
    • You can use any editor you like such as nano/pico or vi if you know what you’re doing.
  9. 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).
  10. Finally issue: service httpd restart