Установка PHP OCI8 в докере ⇐ Php
-
Anonymous
Установка PHP OCI8 в докере
Здравствуйте, у меня есть очень простой файл докеров, который выглядит следующим образом:
ИЗ 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
Здравствуйте, у меня есть очень простой файл докеров, который выглядит следующим образом:
ИЗ 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
Мобильная версия