The file xx.php requires the ionCube PHP Loader xx.so to be installed by
the site administrator.
When I run the Centova Cast installer, or launch Centova Cast in a browser, I reecive the following error:
Site error: the file xx.php requires the ionCube PHP Loader ioncube_loader_xxx_x.x.so to be installed by the site administrator.
What does this mean, and how do I correct it?
This error indicates that Centova Cast is unable to load the ionCube loader. This is an issue with your system configuration, and is not specific to our software. Here are a few common causes of this issue:
- You are using a 64-bit Linux distribution but you downloaded the 32-bit Centova Cast package, or vice-versa.
The easiest way to tell if you are using a 64-bit Linux distribution is to check for the existence of a /usr/lib64 directory on your server. If it exists, you are using a 64-bit Linux distribution and you must download the Linux x86/64-bit version of Centova Cast from your client area. If it does not exist, you must download the Linux x86 32-bit version.
The enable_dl option in your php.ini may be turned off. If this is disabled, the ionCube loaders cannot be enabled automatically by PHP. Enabling this option will likely resolve the problem.
Safe mode is enabled and no loaders have been configured in php.ini. With safe mode enabled, the enable_dl option is unavailable, and loaders must be specified in php.ini (see step 7).
Your server may have SELinux enabled. This is often the default on Red Hat and/or CentOS servers. SELinux imposes very restrictive limits which may interfere with PHP's ability to load extensions. It is recommended that you disable SELinux by editing /etc/selinux/config and changing the "SELINUX=" line to "SELINUX=disabled". Note that this change will not take effect until you reboot your server.
You may be using a newer version of PHP than was available when we bundled the loaders, and the bundled loaders may be incompatible. Try downloading new loaders as described below.
An existing, outdated ionCube loader may be hardcoded in your php.ini. This is very common, and the hardcoded loader will override the newer loaders provided with Centova Cast. To fix this, you'll need to either upgrade or remove the old loaders specified in your php.ini.
Dynamic module loading may not be working on your server, even with enable_dl enabled. As a last resort, you may need to install the loaders manually as described at:
Refer to the section entitled "Manual Installation in the php.ini File".
NOTE: If, after manually installing the loaders, you receive an error to the effect of "Failed loading ioncube_loader_xxx.so: ioncube_loader_xxx.so: cannot restore segment prot after reloc: Permission denied", this indicates that SELinux is enabled, and you'll need to re-read item number 4 above.
Downloading New ionCube Loaders
To download new ionCube loaders, perform the following steps:
- Visit [http://www.ioncube.com/loaders/
Select the OS/platform that matches the one you're using, and download the corresponding ZIP archive.
Unpack the ZIP archive on your computer.
Upload the new loader files (that is, all files ending in ".so") on your server.
If you are encountering this error during installation, the "ioncube" directory will be wherever you unpacked the centovacast-x.x.x-lin.tar.gz archive.
If you are encountering this error while attempting to use Centova Cast, there will be two "ioncube" directories -- one in /home/centovacast/system/ioncube, and another in the Centova Cast web root directory. You should not (theoretically) encounter this issue after installation, however, if you did not encounter it during installation.
I installed the ionCube loaders in php.ini but still get this error!
There are three common reasons for this:
Did you restart Apache after updating php.ini? Failure to do so will cause the error to continue to appear until you restart Apache.
Did you edit the correct php.ini file? Some servers have many copies of php.ini, and it can be difficult to know which one to use.
To make sure you've edited the right one, create a file called "test.php" and paste the following into it:
<?php phpinfo(); ?>
Then upload test.php to your web site, visit http://yourdomain.com/test.php in your browser, and search for the words "Loaded Configuration File" -- this will tell you the exact location of the php.ini file that PHP expects you to edit.
- Some Linux distributions (notably Debian and Ubuntu) commonly use TWO separate php.ini files (one for the CLI, and one for Apache). You must add the ionCube loaders to both of these php.ini files.
To determine the location of the Apache php.ini, read step 2 above.
To determine the location of the CLI php.ini, login to your server via SSH and run:
php -i | grep '(php.ini) Path' | sed 's/.*=> //'
This will tell you the exact location of the php.ini file that PHP expects you to edit.
Keywords: requires the ioncube php loader to be installed by the site administrator
Regex: /(requires the ioncube php loader|ioncube_loader_(.*?).so)/i