ionCube Loader: when a script asks for it and how to switch it on

The short answer: some bought programs (themes, modules, management systems) come with their code encoded so it cannot be copied. To run them, PHP needs an extension called the ionCube Loader. If it is not switched on, the site shows an error saying the file needs it. On hosting you switch it on in two clicks.

How to recognise the error

The message varies, but usually says something like “this file has been encoded with the ionCube PHP Encoder and requires the free ionCube PHP Loader to be installed” or “Site error: the file ... requires the ionCube PHP Loader”. If you see this, the program is not broken: the extension is missing.

Switch it on, on hosting (cPanel)

1 In cPanel, open Select PHP Version and then the extensions tab.
2 Tick “ioncube_loader” (or “ionCube Loader”). The change saves as you tick.
3 Test the page that gave the error. If it still appears, press Ctrl+F5 and confirm that the PHP version for this folder is the one you changed. See Viewing and adjusting your PHP configuration.
If... Then
You changed the PHP version and the error came back The extension is switched on per version. Go back to the extensions tab and tick it again for the new version. See Changing your PHP version without breaking the site.
The program still refuses to run The program’s maker only encoded it for certain PHP versions. Check on their site which, and pick one of them.
You cannot find the extension in the list, for your version Open a ticket stating the PHP version and the domain.

On a VPS

On a VPS with root access, download the Loader from the official ionCube site, which has a package per PHP version and system, and add to PHP’s configuration file a zend_extension line with the path of the .so file. That line must come before other zend_extension-type extensions. Then restart PHP-FPM or Apache and confirm with php -v: the Loader shows in the output.

Only buy from whoever makes it. Encoded code cannot be read: you cannot see what it does. A theme or module downloaded from an unofficial place can carry malicious code hidden in exactly this way. See An abandoned plugin or an old PHP version.
If instead the error is about missing libraries when installing with Composer, the cause and fix are different: see Composer says your requirements could not be resolved.

Does your program ask for ionCube and you cannot switch it on? Open a ticket with the domain and the error message.

Open a support ticket

SEE ALSO

Viewing and adjusting your PHP configuration: version per folder, extensions and phpinfo

Changing your PHP version without breaking the site

Composer says your requirements could not be resolved: PHP version and missing extensions

An abandoned plugin or an old PHP version: how to spot the risks on your site

RECOMMENDED PRODUCT

Web hosting with cPanel

Domain and SSL included, daily backups and the panel you already know. from $6.60/mo (3-year plan, with coupon)

See plans
  • 0 Users Found This Useful
Was this answer helpful?