How to Enable the ionCube Loader in Plesk
Enable the ionCube Loader in Plesk so encoded PHP runs again. Step-by-step per-domain and server-wide instructions, verification, and troubleshooting.
When an encoded PHP application on a Plesk server stops with an ionCube Loader error, the remedy is to enable the Loader for the PHP version your site runs on. Plesk handles multiple PHP versions cleanly, which makes this reliable once you know where to look. This guide covers enabling the Loader per domain and server-wide, verifying it, and what to do when it does not stick.
Step Zero: Identify the PHP Version in Use
The ionCube Loader is bound to a specific PHP version, so you must enable it for the correct one. In Plesk, each subscription or domain has an assigned PHP handler.
Go to Websites & Domains, select the domain, and open PHP Settings. The PHP version and handler are shown there. You can also confirm with a <?php phpinfo(); file loaded in your browser; read the version at the top and then delete the file. Plesk servers frequently offer several PHP versions, so pin down the exact one before enabling anything.
Enabling the Loader Per Domain
If your Plesk server already has the ionCube Loader installed for the relevant PHP versions, you typically switch it on at the domain level:
- In Plesk, open Websites & Domains and pick the domain.
- Click PHP Settings.
- Confirm the PHP version is the one your site uses.
- Look for an option to enable extensions or additional directives. Depending on your Plesk version, ionCube may be enabled automatically for supported PHP versions, or you may add a directive that references it.
- Apply the changes.
In many Plesk installations the Loader is provided centrally, so per-domain work is minimal: you simply ensure the site uses a PHP version for which the Loader is present. If your control panel offers a per-domain extensions list, ionCube may appear there as a checkbox you can tick directly. When it does not, the directive-based approach in the PHP Settings additional configuration field is the fallback. Either way, remember to apply the change before testing, because Plesk does not enable it until you save.
Enabling the Loader Server-Wide
If you administer the Plesk server, you manage the Loader across all PHP versions from the server side:
- Open Tools & Settings.
- Under PHP Settings, you can see the PHP versions Plesk manages.
- The ionCube Loader is installed per PHP version. On many systems it is bundled with Plesk's PHP packages; on others it is added through the OS package manager and referenced from each version's configuration.
- After installing or enabling it for a PHP version, restart the associated PHP-FPM service.
Because each PHP version is configured independently in Plesk, enabling the Loader for one version does not enable it for the others. Handle each version your sites use. Always use the official Loader from the vendor.
Verify That It Worked
Do not assume, confirm:
- Load a
<?php phpinfo();page in the browser your application uses. - Search for ionCube. A successful setup shows an "ionCube PHP Loader" section with a version.
- Reload the actual application and check the error is gone.
- Delete the info file.
Remember that Plesk can serve the website and command-line scripts with different PHP versions, so verify in the context that was failing. For a plain-language explanation of the component, see ionCube Loader explained.
Troubleshooting
If the Loader still does not show up:
- Wrong PHP version. Re-check the domain's PHP Settings; the Loader must be enabled for that exact version.
- PHP-FPM not restarted. Configuration changes may require a service restart to take effect.
- Loader not installed for that version. If Plesk manages a PHP version that never had the Loader added, install it for that version first.
- Handler mismatch. FPM, FastCGI, and CLI can behave differently. Make sure the handler your site uses has the Loader.
- Scheduled tasks. Cron and Plesk scheduled tasks may use a different PHP; enable the Loader there too if those scripts are encoded.
If you are on managed Plesk hosting and cannot make these changes, ask your provider to enable the ionCube Loader for your domain on PHP version X, stating the exact version. It is a common, quick request.
What Enabling the Loader Does Not Fix
Enabling the Loader resolves "needs to be installed" and version-compatibility errors. It does nothing for messages about an expired file, a site key, or a domain-locked license. Those are licensing matters, and the only appropriate step is to contact the vendor to renew or reactivate. This article does not describe any way around a license check, because there is none that is legitimate.
A Longer-Term Alternative for Owners
If keeping the Loader enabled across PHP upgrades and server moves has become a recurring chore, and you own the software or have written permission to recover it, you can remove the dependency altogether by recovering your own readable PHP source. Plain PHP runs on any compatible Plesk PHP version without a Loader. Our ionCube decoder supports this, and you can read a related walkthrough on how owners remove a SourceGuardian loader dependency for the same reasons. Recover only software you are entitled to.
FAQ
Where is the ionCube setting in Plesk? Per domain it is under Websites & Domains > PHP Settings. Server-wide it is under Tools & Settings > PHP Settings. The exact layout varies by Plesk version.
Do I enable it once for all PHP versions? No. Plesk configures each PHP version separately. Enable the Loader for every version your sites use.
It's enabled but the site still errors.
Usually PHP-FPM needs a restart, or the site is actually running a different PHP version than the one you enabled it for. Recheck the domain's PHP Settings and phpinfo().
Can I do this on managed hosting? If you have full Plesk access, yes. On restricted plans, ask your provider to enable it for your domain and PHP version.
Is this related to license expiry errors? No. Expiry, site-key, and domain-lock messages are licensing and only the vendor can resolve them. Enabling the Loader fixes environment errors only. Ready to drop the dependency? Start a free trial or create an account.
Related Articles
How to Recover Source From an ionCube WordPress Plugin You Own
Learn how owners can recover readable PHP source from an ionCube-protected WordPress plugin they own, plus what to prepare before you start a recovery.
Recovering ionCube WooCommerce Extension Source Code
A practical guide for store owners recovering readable source from an ionCube-protected WooCommerce extension they own, so they can maintain and audit it safely.
ionCube WHMCS Module Source Recovery for Owners
How hosting and billing operators can recover readable source from an ionCube-protected WHMCS module they own, to keep automation and provisioning maintainable.
Decoder Guides
Ready to decode ionCube and SourceGuardian files?
Try PHPDecompile free. No credit card required.