ionCube Encoder version 10.2 is now available as an update to version 10! It features encoding support for PHP 7.2 and a useful new bundling feature which we’ll discuss in this article.
Version 10 includes encoding support for PHP 4, 5, 7.1 and 7.2 as well as Dynamic Key security for the strongest protection. The Pro/Cerberus Edition also features licensing tools which restrict files to only run on authorized machines.
PHP 7.2 encoding support is a big part of the 10.2 Encoder update but the new bundling feature is not one to overlook either. It allows users to combine encodings into one file set meaning that fewer options are needed for end users downloading encoded products.
One of the best features of ionCube has been its ability to run encoded files on multiple versions of PHP with the ionCube Loader being used to translate bytecode. For example a PHP 5.3 encoded file can run on PHP 5.3 to 5.6 meaning that only one file set is required for those versions of PHP. Extensive changes to PHP 7’s internals made translation extremely difficult and so we had to come up with a different solution, version 10.2’s bundling feature.
The Encoder GUI now allows users to combine PHP 5.6 and PHP 7.1 encoded files into a single file set which runs on PHP 5.6, 7.0, 7.1 and 7.2 using the v10.2 Loader or greater. With use of the command-line Encoder it is possible to add in even more bundling options. The encoding command below started in the GUI and has been exported as a .bat file for editing and execution.
Tip: It is also possible to use the ‘View Encoder Command Line’ option from the drop down menus where the encoding command can be copied for use on the command-line.
@echo OFF REM ionCube Encoder batch file REM Project: C:\Users\Dev\Example.iep REM Date: 2018-03-08 14:46:59 "C:/Program Files (x86)/ionCube Cerberus PHP Encoder 10.2.0/ioncube_encoder56.exe" --exclude "*.*" --encode "*.php" --encode "*.inc" --ignore "*~" --ignore "~*" --ignore "*.bak" --ignore "*.tmp" --ignore "*.iep" --ignore "*.git" --ignore ".svn/" --ignore ".*/" --ignore "*.swp" --dynamic-key-errors "normal" --no-doc-comments --obfuscate "linenos" --bundle "C:/Users/Example" -o "C:/Users/Encoded/Example" %* "C:/Program Files (x86)/ionCube Cerberus PHP Encoder 10.2.0/ioncube_encoder71.exe" --exclude "*.*" --encode "*.php" --encode "*.inc" --ignore "*~" --ignore "~*" --ignore "*.bak" --ignore "*.tmp" --ignore "*.iep" --ignore "*.git" --ignore ".svn/" --ignore ".*/" --ignore "*.swp" --dynamic-key-errors "normal" --no-doc-comments --obfuscate "linenos" --add-to-bundle "C:/Users/Example" -o "C:/Users/Encoded/Example" %* "C:/Program Files (x86)/ionCube Cerberus PHP Encoder 10.2.0/ioncube_encoder72.exe" --exclude "*.*" --encode "*.php" --encode "*.inc" --ignore "*~" --ignore "~*" --ignore "*.bak" --ignore "*.tmp" --ignore "*.iep" --ignore "*.git" --ignore ".svn/" --ignore ".*/" --ignore "*.swp" --dynamic-key-errors "normal" --no-doc-comments --obfuscate "linenos" --add-to-bundle "C:/Users/Example" -o "C:/Users/Encoded/Example" %*
This example combines a PHP 5.6, 7.1 and 7.2 file set and it is also possible to combine in older PHP versions as well. The new bundling feature ensures maximum possible compatibility regardless of major changes to PHP’s core in the future.
Version 10.2 is now available at ioncube.com and for testing in our Free Trial which is available here.