Changes in Zend Guard from version 5.5 to 6.0
- Full support for PHP 5.4
- Dropped Support for PHP 5.2 ( Guard 5.5 should be used )
Known issues and Limitations
General
- Encoding/obfuscation for PHP 5.4 is not compatible with PHP 5.3 and earlier releases, and vice versa. That is, a file encoded to run on PHP 5.3 will not be loaded on PHP 5.4 and vice versa. Workaround: Encode your application separately to run on PHP 5.3 and PHP 5.4.
Encoding
- Relative names do not work with
--ignore
and--exclude-file
- Using inexact file names (different cases,
/
instead of\\
, or not full paths) does not work with--ignore
and--exclude-file
(Windows only) - "Work only with encoded files" option does not work if it is not applied for all files
- Extending
stdClass
gives a blank output when a file is encoded
Obfuscation
- Using
mbstring.func_overload
with obfuscation requires exporting functions that are overloaded.
Class Obfuscation
- Implementing PHP interfaces (such as
Iterator
) requires exporting interface methods - Autoloading does not work for obfuscated classes (due to different class names)
- Obfuscating class and function names can break any code that accesses a function by string, such as calling a variable function like
$func()
, or calling a PHP internal function to access a class/function as a variable, such ascall_user_func($func)
, etc. --export-php
may not automatically export some SPL iterator classes
Installation Instructions
Windows
Double-click on the self-extracting archive, and follow the instructions in the automated installation wizard.
Linux
- Extract the downloaded
tar.gz
file:tar xzvf filename.tar.gz
- As soon as the extraction is done, run the extracted binary (
./ZendGuard.bin
) and follow the instructions in the installation wizard.
Mac
- Extract the downloaded
.dmg
file by double clicking on it. - Double click on the archive directory in order to start the Zend guard installation wizard and follow the instructions in the installation wizard.
Standalone Guard Loader
- Download from www.zend.com and follow readme inside the package
Guard Loader for Zend Server 6.0.1
- Download from www.zend.com
- Windows
- Run the
ZendGuardLoader_for_PHP54.exe
setup to add loader to your PHP54 Zend Server
- Run the
- Linux
- Install php-5.4-loader-zend-server
- vim
/usr/local/zend/etc/conf.d/loader.ini
- uncomment the line:
zend_extension_manager.dir.loader=/usr/local/zend/lib/loader
- Mac
- Download
ZendGuardLoader-70429-PHP-5.4-darwin10.7-x86_64.zip
, unzip, and follow readme instructions
- Download
Known issue for all above: Zend Guard loader will not be displayed in Zend Server UI
System Requirements
- Linux x86
- Linux x86-64 (only with 32 bit libraries)
- Windows x86 XP / 7 / 2008
- Mac OS X 10.8
- PHP Compatibility - Supported PHP versions are 5.3 and 5.4