Loader FAQ's
1. What license do I need to use the loader?
There is no need to purchase any additional licenses to distribute your encoded scripts. All your encoded PHP files can be distributed for no additional cost.
2. Can I bundle your loaders with my application?
Yes, we are happy for you to bundle the loaders with your application or to link through to our loaders page which is updated with new loaders as they are developed.
3. We have no access to php.ini. What would you suggest?
Many hosting companies allow you to have your own php.ini configuration file, but usually it is off by default and you probably need to contact them about enabling this option for you. Most organisations and hosting companies are willing to install our loader. PHP installations older than version 5.2.5 allow SourceGuardian encoded applications to be run without any modification of PHP. If dl() is enabled as part of the installation (which it is by default) then your encoded scripts will run.
4. Can other optimizers be installed alongside SourceGuardian?
Yes, you can install other optimizers or loaders alongside SourceGuardian. Please read the documentation relating to this.
5. Is it possible to run protected scripts without installing a loader?
SourceGuardian uses bytecode encoding and requires a binary loader installed in order to run protected files. As you probably know, since version 5.2.5 of PHP any dynamic extensions must be installed and can be loaded only from PHP's extension_dir that is defined in php.ini. Usually, if you have access to extension_dir, editing php.ini is not a problem. If you have no access to extension_dir and php.ini to install a loader yourself, most organisations and hosting companies are willing to install our loaders.
Please note, that all the other *bytecode* PHP encoders that are available, require installing a binary loader as well.
To make life easier we created an online loader assistant and suggest that you or your customers freely use it to know the loader you need and how to install it to any particular system. Please find our Loader Assistant here http://sourceguardian.com/loaders/download.php
6. I use version 7 of SourceGuardian. After upgrading PHP to version 5.3 my encrypted files do not work anymore
Encoding for PHP 5.3 is supported in version 8 of SourceGuardian and newer. If you are using version 7 or older than you may upgrade your copy of SourceGuardian in the user profile. It's also important to install the latest loader for PHP 5.3. Please find loaders in the version 8 installation package. You may also use our loader assistant to know the loader you need and how to install it http://sourceguardian.com/loaders/download.php
7. Why do I see my PHP code source when run the encoded version?
Your code probably use short PHP tags <? ?>. Enable short PHP tags support in Advanced settings in your SourceGuardian project or use --short-tags option if you prefer to run the encoder from the command line. Re-encode your files.
8. SourceGuardian 11 - Protected script's header is broken
If you are using version 11 of SourceGaurdian and getting the error 'SourceGuardian Loader - Protected script's header is broken. Probably the encoded file was modified. Please install an original unmodified file or contact the author of the script to get the original file. Error code [10]', UPDATE THE LOADER.
9. How can I use xDebug for SourceGuardian 15+ encoded files?
It is not recommended that you enable xDebug. Enable only for testing and not for production.
1) Encode with --enable-debug for CLI. If you use GUI, add --enable-debug to the Additional Command Line Options in Advanced Settings of your project. Re-encode the files.
2) Edit the php.ini that is actually used - it may be different for web or CLI, check with phpinfo() or php -i accordingly. Add sourceguardian.enable_debug="1" For web, restart the webserver to reload the changes.
10. Mac OS loaders can't be loaded with 'Apple could not verify'
This is a false positive. All our MacOS loaders are signed, but since you are downloading loaders from the website, MacOS assigns 'com.apple.quarantine' attribute to them once unpacked. Remove the attribute by running the following command in the folder you have unpacked the loaders to:
> xattr -d com.apple.quarantine *
You may also use this command to check extended attributes before and after removing the com.apple.quarantine one:
> ls -@l *.dar
If there are any extended attributes, they will be shown next to the file name, otherwise only file names are shown.
If you have Xcode installed, you may check the signature by running the following command. This is optional.
> codesign -v -d ixed.X.X.dar