Installing ionCube loaders
To run some of our products, your site needs to have support for ionCube encoded files.
ionCube is an established industry standard solution for PHP encoding and your server may already support it. If not, ionCube also supports runtime loading of encoded files. This means that, in most cases, all you need to do is to upload the free ionCube loader to your site. This way no changes in server configurations are required and the loader can be employed on share hosts without problems too.
Here is what you need to do:
- Download and upload our tester file
Download our tester file. Unpack the zip package, upload the script to your site and point your browser to the uploaded file. The script will run some tests and tell you whether your server already supports ionCube and, if not, whether the run-time loading is possible.
If ionCube is already supported you don't need to do anything else, otherwise the script will suggest the next steps.
- Install the loaders
If ionCube is not supported on your server you must install the loaders. There are several options at your disposal:
- Run-time loading
If the ionCube is not supported but the run-time loading is possible all you need to do is to upload the free ionCube loader to your site.
Go to http://www.ioncube.com/loaders.php and download the loaders for your OS/Platform.
The tester script will tell you which OS you have. For example, if the OS of your server is Linux, download the zip file for Linux (x86) (the most common configuration).
Then unpack the zip file and upload the folder "ioncube" with all files to the root of your site, so it becomes, for example: /path/public_html/ioncube/
Run the tester file again and it should show the installed loaders now.
Note that this option is not possible on PHP 5.2.5+ so, if you are on this version or later, read on for other options.
- Installing via custom php.ini file
If the ionCube is not supported and the run-time loading via dl() is disabled, the loaders should be installed in php.ini. The global php.ini can only be edited by system administrators and not by shared host users, but if CGI is used (the tester will tell you), you should be able to use a custom, local php.ini file which will install the loaders for you.
Create a text file called php.ini with the following content on the first line:
zend_extension = /path/to/ioncube_loader_lin_5.2.so
Replace the path and lin_5.2 with your own flavour and PHP version (this is only an example, read detailed instructions for exact syntax in your case).
Upload this php.ini file to the root of your site and also to administrator and main component directories. For example, for SEF Advance, you would upload the php.ini file to: ./, ./administrator/, ./administrator/components/com_sef/
- Run-time loading from extension directory
Since PHP 5.2.5 the features of dynamic loading method dl() have been restricted, so the ionCube loaders can run dynamically only from the extension directory. This directory is most often out of the reach of share host users and is available only to the host administrators.
If you are on a shared hosting just ask your web host to put the ionCube loader to the extension directory. Our products use the new preamble which will read them from there. If you have the root access to your server then you can do this yourself. It requires no editing of php.ini and no service restart.
- Installing in php.ini
If none of the above options apply to you, you should ask your web host to install the ionCube loaders in global php.ini. This is also the best option in terms of performance, and you should definitely consider it if you are the system admin. Since the loaders are already in php.ini they don't need to be dynamically loaded each time an encoded file is called which saves time and also works for all sites on server.
The detailed instructions on how to install the loaders in php.ini can be found here.
- Run-time loading