I am trying to use Setasign’s FPDI-Parser trial of the full package before I commit to buying the licence but I cannot get the package to load correctly. My site works well until I try to use some of the tools only available with the trial and my page errors out with this message: Script error: the Ioncube Loader for PHP needs to be installed. The ionCube Loader is the industry standard PHP extension for running protected PHP code, and can usually be added easily to a PHP installation. For Loaders please visit get-loader.ioncube.com and for an instructional video please see http://ioncu.be/LV
I am using the php:8.2-fpm
Docker image for this and I am including these lines in the dockerfile to attempt to install Ioncube loader:
RUN curl -o ioncube.tar.gz http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz && tar -xvvzf ioncube.tar.gz && mv ioncube/ioncube_loader_lin_8.2.so
php-config –extension-dir && rm -Rf ioncube.tar.gz ioncube && docker-php-ext-enable ioncube_loader_lin_8.2
But after running docker-compose --build up
the output from php -v
is:
Warning: Failed loading Zend extension 'ioncube_loader_lin_8.2' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2 (/usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so (/usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP 8.2.21 (cli) (built: Jul 23 2024 07:02:30) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.21, Copyright (c) Zend Technologies
The file appears to exist though, because if I run this from the same directory:
# ls -la /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so
I get the result
-rw-rw-r-- 1 507 507 1761720 Jul 2 09:29 /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so
And if I run: file /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so
I get the result
/usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
BUT if I run: ldd /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so
I get
not a dynamic executable
I am very confused about why this file will not load. If anyone has any idea or needs more info to help, please don’t hesitate
Brendan O Connell is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.