首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阿尔卑斯linux中的Libresolv依赖项

阿尔卑斯linux中的Libresolv依赖项
EN

Stack Overflow用户
提问于 2018-11-13 15:09:47
回答 1查看 5K关注 0票数 4

我有阿尔卑斯v3.7 Docker映像,为了简短起见,我正在为PHP安装OCI8扩展。

在执行php -v时,我得到以下错误:

PHP警告: PHP :无法加载动态库'oci8.so‘(尝试: /usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so (加载共享库librupv.so.2:不需要这样的文件或目录( /usr/local/instantclient/libclntsh.so.18.1)),/usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so.so (错误加载共享库/usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so.so:没有这样的文件或目录)在第0行中未知

我似乎找不到我必须安装什么样的软件包才能使它工作。我已经看到在我的libresolv.a文件夹中有一个这里 (我还搜索过这里并发现在Alpine中没有libresolv.so.*文件),所以我尝试了sym-将它链接回这里文件夹,但是这没有什么作用,我仍然收到相同的错误。

下面是我在Docker容器上创建的包:

代码语言:javascript
复制
RUN apk add --update \
    autoconf gcc g++ make libaio-dev libnsl gettext-dev automake libtool libc6-compat;
EN

回答 1

Stack Overflow用户

发布于 2020-05-12 21:21:23

问题是,您正在使用instaclient 18。

使用Oracle instaclient 11只需添加

代码语言:javascript
复制
FROM alpine3.11

# Setup LD lib path 
ENV LD_LIBRARY_PATH=/usr/local/instantclient_11_2

# Install Apline dependencies
RUN apk add gcc libnsl libaio curl unzip openssl-dev autoconf musl-dev

RUN curl -k -o /tmp/basic.zip https://raw.githubusercontent.com/wilo087/Oracle-Instaclient_11_2/master/instantclient-basic-linux.x64-11.2.0.4.0.zip

# Unzip downloaded library
RUN unzip -d /usr/local/ /tmp/basic.zip

# Link Libs
RUN ln -sf ${LD_LIBRARY_PATH}/libclntsh.so.19.1 ${LD_LIBRARY_PATH}/libclntsh.so; \
  ln -s ${ORACLE_HOME}/libocci.so.* ${ORACLE_HOME}/libocci.so; \

# The libnsl version installed by Alpine is the number two, and instaclient use the number 1 so, create symbolic link for number one
RUN ln -sf /usr/lib/libnsl.so.2.0.0  /usr/lib/libnsl.so.1
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53283973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档