栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker php扩展 oci8+pdo

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker php扩展 oci8+pdo

因为docker php需要连oracle,创建一个新镜像有oci8 和  pdo_oci扩展

Dockerfile(alpine版)

FROM php:7.4.21-fpm-alpine3.13

# 更换阿里云的镜像源
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories ; fi

# 编译oci8和pdo_oci扩展需要用到instantclient
# 在官网下载 https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip
COPY ./instantclient_21_1 /usr/lib/instantclient_21_1
# 环境变量一定要设置为对应的地址
ENV ORACLE_BASE /usr/lib/instantclient_21_1
ENV LD_LIBRARY_PATH /usr/lib/instantclient_21_1
ENV TNS_ADMIN /usr/lib/instantclient_21_1
ENV ORACLE_HOME /usr/lib/instantclient_21_1

# 下面创建的软链接一定不能少
# Install Instantclient Basic Light Oracle and Dependencies
RUN apk add -U --no-cache 
   autoconf 
   g++ 
   make 
   libaio 
   libnsl 
   libc6-compat 
   curl 
   && ln -s /usr/lib/libnsl.so.2 /usr/lib/libnsl.so.1 
   && ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2 
   && ln -s /lib64/ld-linux-x86-64.so.2 /usr/lib/ld-linux-x86-64.so.2 
   && ln -sf /usr/lib/instantclient_21_1/libclntsh.so.21.1 /usr/lib/instantclient_21_1/libclntsh.so 
   && docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/instantclient_21_1/ 
   && docker-php-ext-install oci8 
   && docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/instantclient_21_1/ 
   && docker-php-ext-install pdo_oci 
   && cd /usr/local/bin 
   && curl -sS https://getcomposer.org/installer | php 
   && mv composer.phar composer && chmod +x composer

关键还是下载 instantclient 客户端,配置软链。然后安装oci8和pdo_oci扩展即可。

其他扩展:略

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/826555.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号