Using ionCube encoded and secured PHP files requires a file called the ionCube Loader to be installed on the web server and made available to PHP. PHP can use the Loader with one line added to a PHP configuration file (php.ini). An automated Installer and Wizard are available to help with install, as well as manual instructions. Loaders are for 32 and 64 bit x86 based systems unless otherwise specified. The Windows non-TS Loaders are for use on a Windows system where a phpinfo page shows that PHP is built with thread safety disabled.
If you need Loaders for platforms not mentioned please contact us. Note that different distributions of Linux, e.g. CentOS, SuSE, Debian, RedHat etc. are all covered by the 32 and 64 bit Linux Loaders.
It is recommended to install a Loader using help from the Loader Wizard. The Wizard is a PHP script that when installed on a web server can give guidance specific to that machine, including which Loader file is required and what to add to the php.ini file.
To use the Wizard:
Loaders are available for many different platforms. Pick a Loader package based on your operating system and whether the PHP installation is 32 or 64 bit. If you are unsure of the server platform (e.g. Linux or FreeBSD) and whether PHP is 32 or 64 bit, your hosting company should be able to tell you. The Wizard script should also detect this correctly if you use it.
Linux Loaders also include support for vulnerability protection and PHP error reporting via the ionCube24 platform.
Are you a hoster or package maintainer and would like API access to historical releases? Contact us and let us know.
|Linux (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Linux (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
(e.g. Raspberry Pi2) (armv7l 32 bits)
|Linux ARM64 (aarch64 64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC9 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC9 (Non-TS) (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC11 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC11 (Non-TS) (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC11 (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC11 (Non-TS) (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC14 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC14 (Non-TS) (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC14 (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC14 (Non-TS) (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC15 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC15 (Non-TS) (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC15 (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Windows VC15 (Non-TS) (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 6 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 6 (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 7 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 7 (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 8 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 8 (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 9 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 9 (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 11 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|FreeBSD 11 (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|OpenBSD 4.5 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|OpenBSD 4.6 (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|OpenBSD 4.7 (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|macOS (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|macOS (64 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|Solaris (32 bits)||tar.gz||zip||10.4.0||2020-06-29 UPDATED|
|2020-06-29||10.4.0||Loaders for PHP 7.4. These will run files produced by the PHP 7.1 and 7.2 encoders. Fix for an issue with the encoded_paths feature in Windows.|
|2020-02-28||10.4.0 beta 2||Second beta release of PHP 7.4 Loaders for Linux. These now run both 7.1- and 7.2-encoded files but do not support IC24. These beta loaders should not be used in a production environment.|
|2020-02-27||10.4.0 beta||Beta release of PHP 7.4 Loaders for Linux. At present these only run 7.2-encoded files and should not be used in a production environment.|
|2019-10-11||10.3.9||Fix for an issue in the PHP 7.3 Loader which could cause OPcache to be disabled on unencoded files. Fix for an issue in the PHP 7.2 and 7.3 Loaders which could give a spurious warning message if a parameter of a method with a null value overrides a method with a nullable type.|
|2019-08-23||10.3.8||Fix for a possible crash in the PHP 7.3 Loader when OPcache was also enabled. Fix for PHP error exceptions not being caught in the PHP 7 Loaders. Fixes for PHP issues 71980, 75396 and 75786. Fix for an incorrect call order with certain combinations of foreach, finally and exception in the PHP 7.1 Loader. Fix for incorrect line numbers being reported for undefined array index errors. Fix for a potential memory leak with the encoded paths feature of the Loader. IC24: Minor bug fixes, improvements and support for future features. Upgrading to the 10.3.8 Loader is particularly recommended for IC24 users. New 5.4 and 7.2 Loaders custom built for IBM for ppc64le.|
|2019-06-25||10.3.7||Fix for a potential segmentation fault in the 10.3.5 and 10.3.6 Loaders when including a large file defining an array. The Loader version now can be obtained using phpversion("ionCube Loader").|
|2019-06-18||10.3.6||Fix for an issue in the PHP 7.3 Loader where a case within a switch could be triggered even though the variable in the switch was undefined. Fix for filepaths shown in debug_backtrace and similar functions being incorrect in some cases in the 10.3.5 Loaders. Fix for possible segmentation faults in the 10.3.5 Loaders occurring with include file protection.|
|2019-06-04||10.3.5||The ionCube Loader now has its own section in the phpinfo() output. That will include IC24 settings where relevant. Fix for some memory leaks in PHP 5.6-7.3, particularly when including files in a loop. For undefined variables in assignments, correction to ensure that the line numbers in error messages are not mangled when line number obfuscation is not in place. Fix to ensure that the loader will accept large property values that were accepted by the Encoder. Fix to ensure that external encoding keys set at runtime using ini_set would be found.|
|2019-04-07||10.3.4||This updates Linux x86 32/64 bit Loders only, and fixes corruption of the HTTP_HOST server variable if it includes a port number, e.g. somedomain.com:1081. There is no change for other platforms other than the version number for consistency.|
Fix for callback files not being called from bundled encoding files.
Added AArch64 (ARM64) as a new standard platform.
|2019-01-02||10.3.2||Fix for a potential issue with the corruption of included file paths, particularly on Windows.|
|2018-12-28||10.3.1||Fix for potential issue running code on PHP 7.1 and 7.2. Enhancement to ionCube 24 support.|
|2018-12-21||10.3.0||Loaders for PHP 7.3. Fix for an issue with dynamic properties of classes in PHP 7.1 and 7.2 which are updated using an "op assign" such as "+=". Improvements, enhancements and support for future ionCube 24 features. All ionCube 24 users are strongly encouraged to update to this version.|
|2018-11-13||10.3.0-beta||Beta ionCube Loaders for PHP 7.3 on Linux and FreeBSD 11. Those can be used with the release candidate (RC) versions of PHP 7.3.0 on Linux and FreeBSD 11. They can run files encoded with the version 10 PHP 7.1 and 7.2 Encoders. As with PHP 7.3.0 RC versions themselves, these loaders should not be used in a production environment.|
|2018-11-08||10.2.7 (includes changes for 10.2.6)||Fix for potential fault with thread-safe PHP 7 on Windows. Fixes for ionCube24 support if using thread safe PHP on Linux and with code calling move_uploaded_file() from PHP 7.|
|2018-09-28||10.2.5||Fix for an issue with PHP 5.4, 5.5 and 5.6 encoding where a silence operator at the start of an assignment including object instantiation may cause a segfault. Fix for an issue in PHP 7.1 and 7.2 where the values of generator parameters may not be found if a generator is closed and then later opened again. Fix corresponding to that for PHP bug 76534 (https://bugs.php.net/bug.php?id=76534).|
|2018-07-27||10.2.4||Added FreeBSD 11, both 32 and 64 bit, as new standard platforms. IC24: Fix for a possible crash in PHP 7 when an attempt is made to open a file on a path in the trusted include paths list and the file does not actually exist.|
|2018-07-18||10.2.3||Fix for possible memory leak with closures in the PHP 7.0-7.2 loaders. Fix for obfuscated versions of built-in functions not being found in thread-safe PHP 7.0-7.2. Fix for possible invalid memory access when a generator is unset or otherwise terminates prematurely in PHP 7.1 and 7.2. Fix for possible segmentation fault when running PHP 5.0-encoded files on 5.4-5.6.|
|2018-06-22||10.2.2||Fix for a crash that could occur when using cloned objects in PHP versions prior to 7.0. Fix for a crash occurring when using dynamic key functions with arguments for PHP versions prior to 7.0. Fix for a crash that could occur when using the allow-reflection options (not including the allow-reflection-all option). Fix for a crash that could occur for dynamically defined functions (such as defined within if-statements) in PHP 7.0-7.2. Correction for memory leaks occurring as a result of method calls in the PHP 7.0-7.2 Loaders.|
|2018-05-03||10.2.1||Fix for a crash that could occur if there was a mismatch between a parent method signature and a child method signature. Improvements to memory consumption.|
|2018-03-07||10.2.0||Loaders for PHP 7.2 encoding produced by the new 10.2 Encoders. Fix for an issue in the PHP 7.1 and 7.2 Loaders whereby a return type could cause referenced parameters to break. Fix corresponding to the fix for PHP bug 69676 (https://bugs.php.net/bug.php?id=69676).|
Fix for a fault in the PHP 7.0 Loader that could occur where a function was called with more arguments than in its definition.
Changes made corresponding to the fix for PHP bug number 74862 for PHP versions 7.1.13 and PHP 7.2.1.
Improved error message when the user is attempting to run a 5.6 or earlier encoded script on PHP 7.1 or later.
Loaders for PHP 7.2.
Support for bundled encodings, a feature that will be included in a minor update of the version 10 Encoder.
Improvements to error messages produced when a 7.1-encoded file is read by a Loader for an earlier version of PHP.
Fix for an issue whereby private methods could be wrongly overridden with inheritance and dynamic decoding.
IC24: Notices plus strict and deprecated warnings are no longer reported if they are masked by @ or the error reporting level.
|2017-11-01||10.0.4||Fix for issue in PHP 5.5 and 5.6 where a crash could occur under certain conditions. IC24 improvements.|
|2017-09-26||10.0.3||Fix for issue in PHP 7.1 where getting the default values of parameters can randomly fail. Fix for issue in PHP 7.1 where an array value could be assigned to the next element where the array has "holes" i.e. numeric indexes of the array that do not have values. Fix for issue in PHP 7.1 where a call to a stored procedure can lead to an incorrect "unbuffered queries are active" error. Improvement to the error message produced by the PHP 7.1 Loader when encountering a file not produced by the PHP 7.1 Encoder. IC24: New ic24.sec.initial_state ini option to configure whether security is enabled or not upon cache creation. IC24: New ic24.sec.initial_action ini option to determine how new and modified files should be treated when about to execute. IC24: New ic24.sec.initial_notify ini option to flag whether a notification should be generated when execution is attempted of a new or modified file. Other IC24 improvements.|
|2017-09-11||10.0.2||Fix for issue where, with the PHP 7.0 and 7.1 Loaders, reading unencoded files on Windows could crash. Fix for issue with the PHP 7.1 Loader where a crash may occur when running a function to generate a dynamic key.|
|2017-08-31||10.0.1||Fix for issue where a primary script with an external key that is obtained via a URL will fail. Fix for issue where, if an external key is set in two separate license files with the same property but different values, then decoding will fail. Fix for issue where setting encoded paths could lead to segmentation faults in some cases on PHP 7.0 and 7.1.|
|2017-08-02||10.0.0||Loader 10.0.0 released. These are loaders to run files produced by the forthcoming version 10 ionCube PHP Encoder. Included are loaders for PHP 7.1. Those will only run files produced by the version 10 encoder for PHP 7.1.|
|2017-05-24||6.1.0||Loader 6.1.0 released. Fix for issue related to use of include file protection combined with a callback file. Fix for issue where setting encoded paths can lead to segmentation faults on PHP 7 in some cases. IC24: Support for the ioncube24 part of the Loader on PHP 7.0 IC24: Switch to a single cache file. IC24: Internal changes to support future features and enhancements.|
|2017-01-26||6.0.9||Loader 6.0.9 released which fixes an issue where, in PHP 7.0, an "Unsupported constant expression" error occurs rather than the correct execution of the script.|
|2016-12-15||6.0.8||Loader 6.0.8 released which fixes an issue where, in PHP 7.0, a dynamic key on a method could wrongly lead to a call from that method to a private method being prevented.|
|2016-12-02||6.0.7||Fix for three issues. Firstly, for the incorrect registration of certain Loader ini settings. Secondly, for the getFileName reflection API function sometimes producing a crash in the PHP 7 Loader. Lastly, for a build issue with the PHP 5.2 and below loaders.|
|2016-10-24||6.0.6||Loader 6.0.6 has been released to complement upcoming Encoder release 9.0.4. The new Encoder and Loader provide a fix for PHP 5.6 encoding where instances of __DIR__ and __FILE__ were not converted properly to the location of the encoded file at runtime.|
|2016-10-07||6.0.5||Fix for an issue with the PHP 7 Loader where nested encapsulated strings may cause a fault.|
|2016-09-23||6.0.4||Fix for an issue with the PHP 7 Loader where, if a conditionally defined function was protected by a dynamic key, then the dynamic key may not be found.|
Fix for issue with the PHP 7 Loader if, in the original 5.6 code, a function parameter
had the form
($param)i.e. a variable with an extra pair of brackets around it.
|2016-09-16||6.0.2||Fix for possible crash with obfuscated functions on PHP 7.|
|2016-09-15||6.0.1||Support for PHP 7. The new PHP 7 ionCube Loaders will run files produced by the version 9 PHP 5.6 Encoder.|
|2016-03-22||5.1.2||ionCube24 Fix for potential issue with over 3000 cache entries.|
|2016-02-07||5.1.1||ionCube24 New feature for realtime reporting of PHP errors and uncaught exceptions to ionCube24.|
|2016-01-26||5.0.23||ionCube24 Resolve link issue with some Linux setups.|
|2016-01-20||5.0.22||ionCube24 Added missing dependency on Linux rt library.|
|2016-01-19||5.0.21||ionCube24 Fix for possible incorrect behaviour when accessing a server from the ionCube24 interface when ionCube24 is fully activated. ionCube24 Fix for potential issue with large cache sizes.|
Fix for potential issue with obfuscation of unqualified function names used within a namespace.
PDF User Guide now included. ionCube24 Fix for issue with symlinks used within a trusted include path.
ionCube24 Enhanced healing when PHP is unstable.
ionCube24 php.ini option to block or allow scripts via stdin.
ionCube24 Ability to protect only the domains configured within the ionCube24 interface rather than all domains.
|2015-10-19||5.0.19||ionCube24 update to avoid potential unnecessary notification.|
|2015-9-14||5.0.18||Fix for possible false alert of a new file being blocked with ionCube24.|
|2015-9-9||5.0.17||Fix for issue with 64-bit Windows loaders.|
|2015-8-27||5.0.16||Fix for rare ionCube24 issue preventing interaction with the ionCube24 control panel on some systems.|
Corrected handling for PHP 5.6 magic method,
Fix for memory corruption issue for thread-safe PHP when running unencoded files.
Improvement in handling of empty arrays in PHP 5.6 with pre-5.6 encoded files.
|2015-7-29||5.0.14||Fix for issue with previous release.|
New ionCube24 php.ini option
|2015-7-13||5.0.12||Fix for problem caused by a large number of network aliases on a system.|
|2015-6-22||5.0.10||Fix for an undefined symbol occurring with the PHP 5.3 Loaders.|
|2015-6-19||5.0.9||Fix for issue where if a reference variable was used as a non-referenced lexical variable in a closure then memory corruption would occur.|
Fix for issue calling
Fix for problem sending ionCube24 notifications with some configurations.
Internal changes related to future ionCube 24 features.
Workaround for an issue that prevented the Loader starting when XCache is installed.
Fix for possible crash if a corrupt license is processed.
|2015-5-18||5.0.6||Fix for ionCube24 notifications not being delivered with PHP 5.6 (Linux only).|
Fix for failure in Windows 64 bit Loader.
Fix for Windows Loader not recognising PHP 5.6 encoded files from Encoder 9.0.
|2015-5-8||5.0.4||Fix for potentially excessive memory usage. Updating recommended.|
|2015-5-4||5.0.3 (Linux)||ionCube24 Trustpoint is now enabled by default and set to the current time when first initialising ionCube 24 on a server.|
|2015-5-2||5.0.2||minor update in version 9 support.|
|2015-4-27||5.0.0||support for running files produced by the ionCube version 9 PHP Encoder.|
The older archive, version 6.0.9, includes ionCube Loaders for PHP 5.6 and PHP 7.0 only.
The newer archive, version 10.3.8, includes ionCube Loaders for PHP 5.4 and PHP 7.2 only.
|Linux ppc64el for PHP 5.6 & 7.0||tar.gz||zip||6.0.9||2017-03-13|
|Linux ppc64el for PHP 5.4 & 7.2||tar.gz||zip||10.3.8||2019-08-07|
Please note: The following packages are no longer being maintained are provided for legacy use.
|Windows VC6 (32 bits)||tar.gz||zip||4.0.7||2011-2-21|
|Windows VC6 (Non-TS) (32 bits)||tar.gz||zip||4.0.7||2011-2-21|
|FreeBSD 4 (32 bits)||tar.gz||zip||4.4.4||2013-10-15|
|Solaris (sparc 32 bits)||tar.gz||zip||4.0.10||2011-8-16|