Fixing SourceGuardian "Incompatible Loader Version" Errors
The SourceGuardian "incompatible loader version" error means the Loader is too old or mismatched for your files. Here's how owners diagnose and fix it safely.
A message like "A newer version of the SourceGuardian loader is required" or "incompatible loader version" means the Loader is present but does not line up with what your encoded files or your PHP need. Unlike a missing Loader, this is a version-alignment problem, and it is entirely fixable through legitimate means. This article explains the causes and the steps owners take to resolve it.
What "Incompatible Loader Version" Means
The SourceGuardian Loader has its own version, and it evolves over time to support newer encoding formats and newer PHP releases. When files are encoded with a newer version of the encoder, they may require a Loader that is at least a certain version to run. If the Loader on your server is older than that, PHP can load the extension but cannot run those particular files, and you get an "incompatible loader version" message.
In short, the Loader is there, but it is the wrong version for the combination of your encoded files and your PHP. The fix is to bring the Loader to a compatible version, or to align the other side of the equation.
Distinguish It From Nearby Errors
Three related messages are easy to confuse, and each has a different remedy:
- "Loader is not installed" means the extension is entirely missing. Install or enable it.
- "Not encoded for this version of PHP" means the encoded file targets a different PHP version. Change the PHP version or get an updated build.
- "Incompatible loader version" means the Loader is present but too old or otherwise mismatched for the files. Update or realign the Loader.
Getting the right one saves time, because the fixes do not overlap.
Gather the Facts First
Before changing anything, collect three pieces of information:
- The PHP version your site runs, from a
<?php phpinfo();page loaded in the browser your app uses. Delete the file afterward. - The SourceGuardian Loader version currently active, shown in the same
phpinfo()output. - What the error message says it needs, which often names a minimum Loader version.
With those three facts you can see exactly where the gap is: the message tells you the required Loader, and phpinfo() tells you what you actually have.
Common Causes
- An older Loader on the server while the application's files were encoded with a newer encoder. Very common when deploying recently built software onto an older environment.
- A stale Loader left over from a previous setup that was never updated.
- Wrong build variant, such as a Loader that does not match your PHP's thread-safety or architecture.
- Multiple PHP versions where the one serving your site has an older Loader than you configured elsewhere.
How To Fix It
Update the Loader to a compatible version. The primary fix is to replace the server's SourceGuardian Loader with a version new enough to run your files, matched to your PHP version and build variant. On a server you control, that means installing the current official Loader files for your PHP version, referencing them from the active php.ini, and restarting the web server and PHP-FPM. Always obtain the Loader from the official vendor.
Or ask your host to update it. On shared or managed hosting you usually cannot change the Loader yourself. Open a ticket asking your host to update the SourceGuardian Loader to the latest version for PHP version X, naming your exact PHP version. This is a routine request.
Match the build variant. If the message hints at thread safety or architecture rather than a version number, ensure the Loader variant matches your PHP build, thread-safe versus non-thread-safe, and the right architecture. Our discussion of the "SourceGuardian loader is not installed" error covers how to read those build details from phpinfo().
Verify the Fix
After updating, restart everything that runs PHP and reload the phpinfo() page. Confirm the SourceGuardian section now shows a version that meets or exceeds what the error asked for. Then load the actual application and confirm the error is gone, since the web and CLI contexts can differ. If a cron job was the thing failing, verify under the CLI PHP as well.
When It's Actually a Licensing Message
If, after aligning the Loader version, you instead see a message about an expired file, a registration key, or a domain lock, that is licensing, not Loader compatibility. The only appropriate response is to contact the vendor to renew or reactivate. This site does not describe circumventing any license or domain check, and there is no legitimate way to do so.
Ending the Version-Chasing Cycle
Updating the Loader once is fine, but if new builds and PHP upgrades keep reopening version-compatibility errors, the Loader dependency itself is the recurring cost. Owners who hold the rights to their software sometimes choose to recover their own readable PHP source, which removes the SourceGuardian Loader requirement entirely so the application runs as plain PHP on any compatible server. If that suits you, our SourceGuardian decoder and general PHP decompiler are built for it, and our guide on how owners remove a SourceGuardian loader dependency explains the benefits. Recover only software you own or are authorized to recover.
FAQ
What does "incompatible loader version" mean exactly? The SourceGuardian Loader is installed but its version is too old, or otherwise mismatched, to run your encoded files. Updating it to a compatible version resolves it.
How do I know which Loader version I have?
Check the phpinfo() output; the SourceGuardian section lists the active Loader version. Compare it against what the error message says it requires.
Why do newer files need a newer Loader? Encoding formats evolve. Files built with a newer encoder can require a Loader at least a certain version to run, so older Loaders cannot execute them.
Can I fix this on shared hosting? Usually you ask your host to update the Loader for your PHP version. If they cannot, moving hosts or recovering your own source are alternatives.
Is this a license problem? No. Version-compatibility and licensing are separate. Expiry, key, and domain messages are handled only by the vendor. Want to remove the dependency entirely? Start a free trial or create an account.
Related Articles
Recovering Source From a SourceGuardian WordPress Plugin
Recover readable PHP from a SourceGuardian WordPress plugin you own. Owner-focused source recovery to regain control of your site's code and roadmap.
SourceGuardian WHMCS Module Source Recovery
Own a SourceGuardian-protected WHMCS module? Recover its readable PHP source so you can audit, maintain, and safely update your billing automation.
SourceGuardian Magento Extension Source Recovery
Recover readable source from a SourceGuardian Magento extension you own, so you can audit, patch, and keep your store compatible across Magento upgrades.
Decoder Guides
Ready to decode ionCube and SourceGuardian files?
Try PHPDecompile free. No credit card required.