Установка PHP OCI8 в докереPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Установка PHP OCI8 в докере

Сообщение Anonymous »


Здравствуйте, у меня есть очень простой файл докеров, который выглядит следующим образом:

ИЗ php:8.2-fpm ARG URL_INSTALL_CLIENT_BASIC='https://download.oracle.com/otn_softwar ... .0dbru.zip' ARG URL_INSTALL_CLIENT_SDK='https://download.oracle.com/otn_softwar ... .0dbru.zip' ЗАПУСТИТЬ обновление apt-get RUN apt install -y разархивировать завиток ЗАПУСК mkdir /opt/oracle ЗАПУСТИТЬ Curl ${URL_INSTALL_CLIENT_BASIC} --output /opt/oracle/instantclient-basic-linux.zip ЗАПУСТИТЬ Curl ${URL_INSTALL_CLIENT_SDK} --output /opt/oracle/instantclient-sdk-linux.zip ЗАПУСТИТЕ распаковать '/opt/oracle/instantclient-basic-linux.zip' -d /opt/oracle ЗАПУСТИТЕ распаковать '/opt/oracle/instantclient-sdk-linux.zip' -d /opt/oracle ЗАПУСК rm /opt/oracle/instantclient-*.zip RUN mv /opt/oracle/instantclient_* /opt/oracle/instantclient ЗАПУСК docker-php-ext-configure oci8 --with-oci8=instantclient,/opt/oracle/instantclient ЗАПУСТИТЕ docker-php-ext-install oci8 RUN echo /opt/oracle/instantclient/ > /etc/ld.so.conf.d/oracle-insantclient.conf ЗАПУСК ldconfig Я просмотрел документацию, чтобы узнать, как ее установить. Я в точности следовал этому.

Когда я создаю образ Docker docker build. -t mytest нет ошибок

но когда я проверяю расширения, OCI8 отсутствует, docker run mytest:latest php -m.

У меня есть приятное предупреждение

Внимание: Запуск PHP: невозможно загрузить динамическую библиотеку oci8.so (пробовал: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/oci8.so (libaio) .so.1: невозможно открыть файл общего объекта: такого файла или каталога нет), /usr/local/lib/php/extensions/no-debug-non-zts-20220829/oci8.so.so (/usr/local/ lib/php/extensions/no-debug-non-zts-20220829/oci8.so.so: невозможно открыть файл общего объекта: нет такого файла или каталога)) в Неизвестно в строке 0 [Модули PHP] Основной ctype ... Вы хоть представляете, что я пропустил?

Спасибо

PS @Paul W: Следующая команда docker run mytest:latest ls -la /opt/oracle/instantclient предоставит мне этот результат. Я думаю, это похоже на папку lib:

всего 245440 drwxr-xr-x 4 root root 4096 18 октября 12:03. drwxr-xr-x 1 root root 4096 18 окт 12:03 .. -rw-r--r-- 1 корень root 5780 28 июня 2022 г. BASIC_LICENSE -rw-r--r-- 1 корень корень 1631 28 июня 2022 г. BASIC_README -rw-r--r-- 1 корень root 5780 28 июня 2022 г. SDK_LICENSE -rw-rw-r-- 1 корень корень 1625 28 июня 2022 г. SDK_README -rwxr-xr-x 1 корень root 42160 28 июня 2022 г. adrci -rwxr-xr-x 1 корень корень 59536 28 июня 2022 г. Genezi lrwxrwxrwx 1 корень корень 17 окт 18 12:03 libclntsh.so -> libclntsh.so.21.1 lrwxrwxrwx 1 корень корень 17 окт 18 12:03 libclntsh.so.10.1 -> libclntsh.so.21.1 lrwxrwxrwx 1 корень корень 17 окт 18 12:03 libclntsh.so.11.1 -> libclntsh.so.21.1 ... PS2 @Paul W: что действительно странно, так это то, что если я последую предупреждению, этот файл отсутствует /usr/local/lib/php/extensions/no-debug-non-zts-20220829/oci8.so, но он существует и каждый может это прочитать....

Но оно существует :
docker run mytest:latest ls -la /usr/local/lib/php/extensions/no-debug-non-zts-20220829/oci8.so -rwxr-xr-x 1 корень root 192664 18 октября 12:03 /usr/local/lib/php/extensions/no-debug-non-zts-20220829/oci8.so
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»