⬡PHPDecompile
⬡PHPDecompile

Professional PHP decoder for ionCube and SourceGuardian files. Decode protected files into clean source code.

Product

  • Pricing
  • Free Trial
  • SourceGuardian Decoder
  • ionCube Decoder
  • Upload Files
  • FAQ

Resources

  • Blog
  • How It Works
  • PHP Decompiler
  • About Us
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  • Refund Policy

© 2026 PHPDecompile. Decoded downloads expire after 7 days.

ionCube · SourceGuardian · PHP 7.4–8.4

Home/Blog/SourceGuardian "Not Encoded for This Version of PHP": Causes and Fixes

SourceGuardian "Not Encoded for This Version of PHP": Causes and Fixes

The SourceGuardian "not encoded for this version of PHP" error signals a version mismatch. Here's what causes it and the legitimate ways owners resolve it.

July 14, 2026·6 min read·By PHPDecompile TeamLast updated: Jul 18, 2026

A message such as "This file is not encoded to run on this version of PHP" from SourceGuardian is different from a plain "Loader not installed" error. Here the Loader may well be present, but the encoded file and the running PHP version do not agree. This article explains why that happens and the legitimate ways owners resolve it, without ever touching licensing or circumvention.

What This Error Is Telling You

When software is encoded with SourceGuardian, the encoding targets particular PHP versions. The resulting files are prepared to run on the versions chosen at encoding time. If PHP later tries to run one of those files on a version it was not prepared for, the Loader recognises the mismatch and refuses, producing a "not encoded for this version of PHP" message.

So this is a compatibility statement about the file itself, not merely about the Loader. It typically surfaces right after a PHP upgrade, when the running PHP has moved beyond what the encoded files were built for.

How It Differs From "Loader Not Installed"

It is worth being precise, because the two errors have different fixes:

  • "Loader is not installed" means the SourceGuardian runtime extension is missing entirely. The fix is to install or enable the Loader.
  • "Not encoded for this version of PHP" means the Loader is there and working, but the encoded file targets a different PHP version than the one running.

Enabling the Loader again will not help the second case. What has to change is the PHP version or the encoded build.

Confirm the Running PHP Version

Start by verifying which PHP is actually serving the application. Place <?php phpinfo(); in a file, load it in the browser your app uses, and read the version at the top. Delete the file afterward. Servers routinely run multiple PHP versions, so the one your site uses may not be the one you assume. Getting this right is essential because the whole error is about a version relationship.

The Common Causes

  • A PHP upgrade moved your site onto a version the encoded files were not prepared for. This is by far the most common trigger, and our overview of encoded PHP and PHP upgrades explains the pattern.
  • A server migration landed the application on a host whose default PHP is newer or older than expected.
  • A control-panel change switched the site's PHP version without anyone noticing.
  • Mixed PHP contexts, where the web server and cron use different versions and only one matches the encoding.

Fix 1: Run a PHP Version the Files Support

The most direct fix is to run your site on a PHP version the encoded files were prepared for. On shared or managed hosting, the PHP version selector in your control panel lets you switch versions in a few clicks. Pick a version the software supports, confirm the SourceGuardian Loader is enabled for it, and reload the application.

This may mean not running the very newest PHP for this particular site, which is a reasonable trade-off for keeping the application working. If other needs push you toward newer PHP, see the next options.

Fix 2: Obtain a Build Encoded for Your PHP

If you need to run the application on a newer PHP version, the clean route is to get a build that was encoded for that version. For commercial software this means asking the vendor for an updated release; vendors periodically re-encode their products for newer PHP lines. An updated build keeps the encoding intact while matching your target PHP version.

Fix 3: Confirm the Loader Matches Too

Even when the encoding matches, the Loader still has to correspond to the running PHP version and build. After adjusting the PHP version, re-check phpinfo() and confirm the SourceGuardian section reports cleanly. If you also see Loader-level complaints, resolve those first; our guide to the "SourceGuardian loader is not installed" error covers that side.

What This Error Is Not

If the message you are actually seeing mentions an expired file, a registration or site key, or a domain lock, that is licensing, not PHP-version compatibility. The only appropriate action is to contact the vendor to renew or reactivate your license. There is no legitimate way around a license or domain check, and this site does not describe one.

The Owner's Long-Term Option

When every PHP upgrade reopens a "not encoded for this version" problem, the encoding-to-version coupling is the real constraint. Owners who hold the rights to their software sometimes decide to recover their own readable PHP source so the application no longer depends on a specific encoding or Loader, and can move freely across supported PHP versions. If that fits your situation, our SourceGuardian decoder is designed for it, and our walkthrough on how owners remove a SourceGuardian loader dependency explains the payoff. Recover only software you own or are authorized in writing to recover.

FAQ

Why does the file care which PHP version I run? SourceGuardian encoding targets specific PHP versions. A file prepared for one version will refuse to run on a version it was not built for, which is what this error reports.

Is this the same as the Loader being missing? No. Here the Loader is present but the encoded file targets a different PHP version. Reinstalling the Loader will not fix it; changing the PHP version or the build will.

Can I re-encode the file myself for a newer PHP? No. Re-encoding is done by whoever holds the original source, typically the vendor. Ask them for an updated build.

Should I just downgrade PHP? Running a supported version is a valid fix for that site. If you need newer PHP elsewhere, get an updated build or recover your own source.

What if the vendor no longer exists? If you own the software or are authorized to recover it, recovering your own source removes the version coupling entirely. Start a free trial or create an account.

#sourceguardian#compatibility#php
Share:𝕏 Tweetin LinkedInReddit✉ Email
← Previous
Fixing "SourceGuardian Loader Is Not Installed" Errors
Next →
Fixing SourceGuardian "Incompatible Loader Version" Errors

Related Articles

Recovering Source From an ionCube-Protected Laravel Package

Own an ionCube-protected Laravel package? Learn how to recover clean, readable PHP source so your team can maintain, audit, and extend it with confidence.

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.

Decoder Guides

SourceGuardian Decoder

Recover SourceGuardian protected PHP files online.

ionCube Decoder

Recover ionCube protected PHP files online.

PHP Decompiler

Use one workflow for authorized PHP source recovery.

Ready to decode ionCube and SourceGuardian files?

Try PHPDecompile free. No credit card required.

🚀 Start Free TrialView Pricing
Table of Contents
What This Error Is Telling YouHow It Differs From &quot;Loader Not Installed&quot;Confirm the Running PHP VersionThe Common CausesFix 1: Run a PHP Version the Files SupportFix 2: Obtain a Build Encoded for Your PHPFix 3: Confirm the Loader Matches TooWhat This Error Is NotThe Owner&#39;s Long-Term OptionFAQ