[英]dockerfile setup for php connecting to Oracle
我在设置 php 连接到 Oracle 数据库时遇到问题,遇到以下消息:
Step 4/7 : ADD instantclient-basic-linux.x64-12.1.0.2.0.zip /opt/oracle
ERROR: Service 'php-apache' failed to build: ADD failed: stat /var/lib/docker/tmp/docker-builder164874438/instantclient-basic-linux.x64-12.1.0.2.0.zip: no such file or directory
Dockerfile
FROM php:7.4-apache
RUN docker-php-ext-install pdo pdo_mysql mysqli
RUN mkdir /opt/oracle \
&& cd /opt/oracle
ADD instantclient-basic-linux.x64-12.1.0.2.0.zip /opt/oracle
ADD instantclient-sdk-linux.x64-12.1.0.2.0.zip /opt/oracle
RUN unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
&& unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
&& ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so \
&& ln -s /opt/oracle/instantclient_12_1/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \
&& ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \
&& rm -rf /opt/oracle/*.zip
RUN echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8 \
&& docker-php-ext-enable \
oci8 \
&& docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1 \
&& docker-php-ext-install \
pdo_oci
您的错误听起来像是简单的路径或没有您认为的 zip 文件。
我建议您查看 Oracle 的 PHP 的示例 Dockerfile: https://github.com/oracle/docker-images/tree/master/OracleLinuxDevelopers例如此Z3254677A7917C6C01FZFB8C6571FZFB8C65212
另请查看Docker 的 Oracle 数据库应用程序在 Node.js 和 ZA7F5F35426B927411FC9231B56中的即时客户端。
您真的需要使用 Instant Client 12.1 吗? Oracle Instant Client 19c 可以连接到 Oracle DB 11.2 或更高版本,并且更容易获得(无需点击即可下载)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.