Я пытаюсь использовать пробную версию полного пакета FPDI-Parser от Setasign, прежде чем совершить покупку лицензии, но не могу заставить пакет загрузиться правильно. Мой сайт работает хорошо, пока я не попытаюсь использовать некоторые инструменты, доступные только в пробной версии, и на моей странице появится сообщение об ошибке: Ошибка сценария: необходимо установить Ioncube Loader для PHP. Загрузчик ionCube — это стандартное PHP-расширение для запуска защищенного PHP-кода, которое обычно можно легко добавить в установку PHP. Для загрузчиков посетите get-loader.ioncube.com, а обучающее видео см. http://ioncu.be/LV
Я использую php:8.2- fpm Образ Docker для этого, и я включаю эти строки в файл docker, чтобы попытаться установить загрузчик Ioncube:
RUN curl -o ioncube.tar.gz http://downloads3.ioncube.com/loader_do ... -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
Но после запуска docker-compose --build up вывод php -v:
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
Однако файл, похоже, существует, потому что, если я запущу его из того же каталога:
# ls -la /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so
Результат получен
-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
И если я запущу: файл /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: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
НО если я запущу: ldd /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so >
Я понимаю
not a dynamic executable
Я очень не понимаю, почему этот файл не загружается. Если у кого-то есть какие-либо идеи или вам нужна дополнительная информация, пожалуйста, не стесняйтесь.
Редактировать:
Содержание моего Dockerfile:
FROM php:8.2-fpm
RUN apt-get update && apt-get install -y libmcrypt-dev zlib1g-dev libpng-dev libzip-dev\
mariadb-client libmagickwand-dev --no-install-recommends \
&& pecl install imagick \
&& pecl install apcu \
&& pecl install mcrypt \
&& docker-php-ext-enable imagick apcu \
&& docker-php-ext-enable mcrypt \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install zip \
&& docker-php-ext-install gd \
&& docker-php-ext-enable gd \
&& docker-php-ext-enable zip
RUN curl -o ioncube.tar.gz http://downloads3.ioncube.com/loader_do ... -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
WORKDIR /var/www
COPY --from=composer /usr/bin/composer /usr/bin/composer
Результат вызова docker-compose build --progress Plain:
0 building with "desktop-linux" instance using docker driver
#1 [app internal] load .dockerignore
#1 transferring context: 2B done
#1 DONE 0.0s
#2 [app internal] load build definition from app.dockerfile
#2 transferring dockerfile: 3.58kB done
#2 DONE 0.0s
#3 [app internal] load metadata for docker.io/library/composer:latest
#3 DONE 2.2s
#4 [app internal] load metadata for docker.io/library/php:8.2-fpm
#4 DONE 2.2s
#5 [app stage-0 1/5] FROM docker.io/library/php:8.2-fpm@sha256:f40ee21ed5b42d0ae6ff95aaa7e619a8701d96aa754eafc8fc7870eb455ce0eb
#5 resolve docker.io/library/php:8.2-fpm@sha256:f40ee21ed5b42d0ae6ff95aaa7e619a8701d96aa754eafc8fc7870eb455ce0eb done
#5 DONE 0.0s
#6 [app] FROM docker.io/library/composer@sha256:b7e5711118e4be186ef635d841a23325d78eae9de59503074a5b588bc04a0407
#6 resolve docker.io/library/composer@sha256:b7e5711118e4be186ef635d841a23325d78eae9de59503074a5b588bc04a0407 0.0s done
#6 DONE 0.0s
#7 [app stage-0 4/5] WORKDIR /var/www
#7 CACHED
#8 [app stage-0 2/5] RUN apt-get update && apt-get install -y libmcrypt-dev zlib1g-dev libpng-dev libzip-dev mariadb-client libmagickwand-dev --no-install-recommends && pecl install imagick && pecl install apcu && pecl install mcrypt && docker-php-ext-enable imagick apcu && docker-php-ext-enable mcrypt && docker-php-ext-install pdo_mysql && docker-php-ext-install zip && docker-php-ext-install gd && docker-php-ext-enable gd && docker-php-ext-enable zip
#8 CACHED
#9 [app stage-0 3/5] RUN curl -o ioncube.tar.gz http://downloads3.ioncube.com/loader_do ... -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
#9 CACHED
#10 [app stage-0 5/5] COPY --from=composer /usr/bin/composer /usr/bin/composer
#10 CACHED
#11 [app] exporting to image
#11 exporting layers done
#11 writing image sha256:79082b1d1fa77aea678606d39de90314a5afcbc1005a3f39c85e8588458aa580 done
#11 naming to docker.io/library/aicc-comm-laravel-9-app done
#11 DONE 0.0s
#12 [web internal] load .dockerignore
#12 transferring context: 2B done
#12 DONE 0.0s
#13 [web internal] load build definition from web.dockerfile
#13 transferring dockerfile: 104B done
#13 DONE 0.0s
#14 [web internal] load metadata for docker.io/library/nginx:1.23
#14 DONE 1.4s
#15 [web 1/2] FROM docker.io/library/nginx:1.23@sha256:f5747a42e3adcb3168049d63278d7251d91185bb5111d2563d58729a5c9179b0
#15 DONE 0.0s
#16 [web internal] load build context
#16 transferring context: 69B done
#16 DONE 0.0s
#17 [web 2/2] ADD vhost.conf /etc/nginx/conf.d/default.conf
#17 CACHED
#18 [web] exporting to image
#18 exporting layers done
#18 writing image sha256:4552dcf435c8f139caee192002dda3984eed1db65cdd0cba95751a77c6a286f2 done
#18 naming to docker.io/library/aicc-comm-laravel-9-web done
#18 DONE 0.0s
Подробнее здесь: https://stackoverflow.com/questions/787 ... cker-image
Как загрузить загрузчик IonCube в образ Docker PHP-FPM? ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение