Joined: 23 Feb 2010
|Posted: Fri Jul 27, 2018 8:33 am Post subject:
Version 9 introduced dynamic decoding which meant that functions were only fully decoded when they were actually called. This also applied to script bodies i.e. code outside functions and classes.
The dynamic decoding method facilitated the industry-leading security feature of dynamic keys (chapter 4 of the user guide) which meant that a function could only be decoded successfully if the dynamic key computation resulted in the same key that the function was encoded with.
The overhead of dynamic decoding is that in the encoded file each function needs both the protected byte code of the function and, in addition, some header information so that the function can be called before it is decoded fully.
Incidentally, you mentioned about running code on PHP 7 servers. Your command line snippet shows you using the PHP 5.3 encoder. You will need to use the PHP 5.6 encoder included in version 9 for the encoded files to run on PHP 7.0. The version 10 PHP Encoder allows you to encode files using PHP 7.1 and 7.2 language features that will run on PHP 7.1 and 7.2.