phpioncube

php56 ionCube Loader error - portable computer


I have a question about ionCube Loader and php56.

I've installed php56 and a lot of missing components in order to have php56 working.

So ionCube Loader requires and after having installed it and writing in terminal php, the error is:

PHP Fatal error: [ionCube Loader] The Loader must appear as the first entry in the php.ini file in Unknown on line 0

So I've seen the docs for ionCube Loader and the README.md file and seems it's only for server (?). So after removed through brew rm php56-ioncubeloader the normal error appears:

Failed loading /usr/local/opt/php56-ioncubeloader/ioncubeloader.so: dlopen(/usr/local/opt/php56-ioncubeloader/ioncubeloader.so, 9): image not found PHP Fatal error: Function annotation compilation failed for function cbdsn_stringify in file [CouchbaseNative]/connstr.php at line 193, error message: You MUST specify a type for all parameters in Unknown on line 0

Now I've asked myself if ionCube Loader is required for php56 on the portable computer. If ionCube is useful then I will install it and following this guide. If it's not useful for developing, could you please let me know how to remove this default extension loading? I think it's written in some file used for autoload, precisely in /connstr.php but I don't find the path where is located in. I wish understand how to fix it. Any advice or criticism is fully accepted.

Thank you & have a nice day,

Cristian


Solution

  • ionCube is a pre-compiler. PHP normally goes through two passes. The first pass parses and compiles the code. The second executes the code. To "protect" the code, ionCube compiles it, then you load the compiled files onto your server, where someone else can't read the PHP code.

    You do not need this for development purposes.

    It sounds like you're on a Debian flavor Linux (maybe Ubuntu?). In packaged PHP, PHP is broken into individual compiles. Those compiles typically load those compiled extensions using a separate INI file (in CentOS those are in /etc/php.d but YMMV in Debian). Make sure you don't have a separate config loading it.