How to Check Your ionCube Loader Version
Need to confirm which ionCube Loader version your server runs? Learn the reliable ways to check it via phpinfo and the command line, and why it matters.
When an encoded PHP application misbehaves, one of the first facts you need is the exact version of the loader your server is running. A loader that is too old for your PHP version, or too old for the tool that encoded your files, is a common source of errors, and you cannot diagnose that without knowing the version number.
This guide shows the reliable ways to check your loader version and explains what the number tells you. It is written for server owners and administrators working on their own systems. If you are checking a system on someone else's behalf, make sure you are authorized to inspect its configuration.
Why the Loader Version Matters
The loader is the PHP extension that lets your server run encoded files. Its version determines two things: which PHP versions it supports, and which encoded files it can run. Newer encoding tools can produce files that require a newer loader, and newer PHP releases require loader builds updated to support them.
So the version is not trivia. If you see an error saying a file needs a newer loader, or an application fails on a fresh PHP version, the loader version is the number that confirms or rules out the cause. Our ionCube Loader explained guide covers the loader's role in more depth.
Method 1: Check via phpinfo()
The most complete way to check is a phpinfo() page, because it reflects the loader as your web server actually sees it.
Create a file containing <?php phpinfo(); ?>, place it somewhere your web server can serve it, and open it in a browser. Search the page for the loader's section. You will find a heading for the loader along with a version number, and often a line confirming it is enabled. This is the version your website is really using, which is what matters for web requests.
Delete that phpinfo file as soon as you have the number. It exposes a lot of server detail that should not stay publicly reachable.
Method 2: Check on the Command Line
The web server and the command-line PHP can use different configurations and even different PHP versions, so it is worth checking both.
Run php -v in a terminal. When a loader is installed for the CLI, its version is typically printed alongside the PHP version banner. You can also run php -m to list loaded modules and confirm the loader is present. If you specifically want the loader line, filtering the php -v output for the loader name works well.
If the command line shows a loader but the website does not, or the versions differ, that discrepancy itself is a useful diagnostic, it means your web and CLI environments are configured differently.
Method 3: Read It Programmatically
PHP can report extension versions at runtime. In a controlled environment you can query the loaded extensions to retrieve the loader's version string. This is handy inside a health-check script or an admin diagnostics page where you want to surface the version without exposing a full phpinfo() dump.
Keep any such diagnostic behind authentication. You do not want to reveal loader and PHP details to anonymous visitors.
Reading the Version Number
Once you have the number, what does it tell you? A higher version supports newer PHP releases and can run files produced by newer encoding tools. If your loader version predates your PHP version's release, that is a red flag: the loader may simply not know how to attach to your PHP, and updating it is the likely fix.
Similarly, if an application reports that a file requires a newer loader, compare your installed version against what the error asks for. When your version is lower, updating the loader to a current build resolves that particular class of error.
When the Loader Section Is Missing Entirely
If neither phpinfo() nor php -v shows any loader, the extension is not installed or not enabled at all. In that case there is no version to read because there is no loader. The Loaded Configuration File line in phpinfo() tells you which php.ini is active so you can confirm where the loader directive should go. After enabling it, restart PHP-FPM or the web server so the change takes effect.
Matching the Loader to Your PHP Build
Remember that the version number alone is not the whole story. The loader must also match your PHP build type, thread-safe or non-thread-safe, and architecture. Two servers can run the same loader version yet need different loader files because they were compiled differently. The phpinfo() Thread Safety line tells you which build you have. Our discussion of encoded PHP and PHP upgrades touches on how these build details interact with version changes.
A Note on License and Site-Key Errors
Checking the loader version helps with technical, runtime problems. It does not address messages about expired licenses, invalid site keys, or domain restrictions. Those are controlled by the software vendor, and the right response is to contact them to renew or reissue your license, never to attempt any bypass.
If you are an authorized owner who would rather not track loader versions at all, recovering plain PHP source from your files removes the loader from the equation entirely. Our ionCube decoder supports that owner-authorized path.
FAQ
What is the quickest way to see my loader version?
A phpinfo() page served through your web server. Find the loader's section and read the version number, then delete the page.
Why do the web and command-line versions differ? The web server and CLI can use different PHP configurations or even different PHP versions, each with its own loader. Check both to get the full picture.
My loader section is missing. What does that mean?
The loader is not installed or not enabled. There is no version to report until you enable a matching loader in the active php.ini and restart PHP.
An error says a file needs a newer loader. What should I do? Compare your installed version to what the error requests. If yours is older, update the loader to a current build that matches your PHP version and build type.
Does the version fix license errors too? No. License, site-key, and domain messages are vendor-controlled. Contact the vendor to renew or reissue. For loader-free operation as an owner, see the FAQ 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.