-
-
Save kubaceg/f116bf85ed9257e2b3099941bca309b1 to your computer and use it in GitHub Desktop.
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_5.6.so `php-config --extension-dir` \ | |
&& rm -Rf ioncube.tar.gz ioncube \ | |
&& docker-php-ext-enable ioncube_loader_lin_5.6 |
[ionCube Loader] The Loader must appear as the first entry in the php.ini file in Unknown on line 0
I use DDEV (DDEV is a wrapper for Docker), and my project (OCStore 2.3) running on Debian Buster, so it requires several extra lines of code:
RUN curl -o ioncube.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
&& tar -xvvzf ioncube.tar.gz \
&& REPO="deb-src http://deb.debian.org/debian buster main" \
&& echo $REPO >> /etc/apt/sources.list \
&& apt update \
&& apt install php5.6-dev -y \
&& mv ioncube/ioncube_loader_lin_5.6.so `php-config --extension-dir` \
&& rm -Rf ioncube.tar.gz ioncube \
&& echo "zend_extension = /usr/lib/php/20131226/ioncube_loader_lin_5.6.so" > /etc/php/5.6/fpm/conf.d/00-ioncube.ini
&& echo "zend_extension = /usr/lib/php/20131226/ioncube_loader_lin_5.6.so" > /etc/php/5.6/cli/conf.d/00-ioncube.ini
P.S.: I was not able to use docker-php-ext-enable because of error "bash: docker-php-ext-enable: command not found"
Hope someday it will save a day for someone ;)
can somone tell me how to use it for php7.0 ? im want to build CubeCart 5.2.8 with php7.0
I get bellow issue. Why ?
/bin/sh: 1: php-config: not found
mv: missing destination file operand after 'ioncube/ioncube_loader_lin_7.2.so'
Try 'mv --help' for more information.
PHP-FPM is phpdockerio/php72-fpm:latest
I agree entirely.
Also works on PHP 7.2. Thanks for a solution that just works.
RUN curl -fsSL 'https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz' -o ioncube.tar.gz \ && mkdir -p /tmp/ioncube \ && tar -xvvzf ioncube.tar.gz \ && mv ioncube/ioncube_loader_lin_7.2.so
php-config --extension-dir\ && rm -Rf ioncube.tar.gz ioncube \ && docker-php-ext-enable ioncube_loader_lin_7.2
I get this error:
[09-Nov-2021 12:52:35 UTC] PHP Warning: Failed loading Zend extension 'ioncube_loader_lin_5.6' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20190902/ioncube_loader_lin_5.6 (/usr/local/lib/php/extensions/no-debug-non-zts-20190902/ioncube_loader_lin_5.6: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20190902/ioncube_loader_lin_5.6.so (/usr/local/lib/php/extensions/no-debug-non-zts-20190902/ioncube_loader_lin_5.6.so: undefined symbol: zend_block_interruptions)) in Unknown on line 0
UPDATE: I've fixed it, the issue was that the version of the PHP I was using was higher(7.4) and not compatible with ioncube version 5.6. So I used ioncube version 7.4:
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_7.4.so `php-config --extension-dir` \
&& rm -Rf ioncube.tar.gz ioncube \
&& docker-php-ext-enable ioncube_loader_lin_7.4
and it's now fixed 🥳. Thank you @kubaceg.
tanks it's work
if someone is experiencing the problem with "Failed loading Zend extension" try use script from here https://dev.to/devtronic/ioncube-loader-in-docker-55n1 but do not forget change php version to yours in line LOADER_FILE=$(ls ioncube/*8.3*.so | cat)
here
Helped me!
I agree entirely.
Also works on PHP 7.2. Thanks for a solution that just works.
RUN curl -fsSL 'https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz' -o ioncube.tar.gz \ && mkdir -p /tmp/ioncube \ && tar -xvvzf ioncube.tar.gz \ && mv ioncube/ioncube_loader_lin_7.2.so
php-config --extension-dir\ && rm -Rf ioncube.tar.gz ioncube \ && docker-php-ext-enable ioncube_loader_lin_7.2