首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Dockerfile中添加ext-http

如何在Dockerfile中添加ext-http
EN

Stack Overflow用户
提问于 2020-05-25 17:44:54
回答 1查看 882关注 0票数 1

我有以下简单的dockerfile来添加来自高山的php,

代码语言:javascript
复制
FROM php:7.2-fpm-alpine

# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Install extensions
RUN docker-php-ext-install mbstring tokenizer mysqli pdo_mysql


COPY ./app /app
WORKDIR /app
RUN composer install

在运行composer install时,它会显示以下消息- The requested PHP extension ext-http * is missing from your system. Install or enable PHP's http extension.

我试着试着用'docker-php-ext- install‘安装它,但是根据here的说法,这个扩展并不包括在内。

我也尝试添加RUN apk add php-http,但也收到以下错误消息

PS:在使用sudo apt install php-http安装扩展后,它可以在本地linux机器上运行

EN

Stack Overflow用户

回答已采纳

发布于 2020-05-25 17:50:22

首先,您可以在添加包之前添加一个apk update。但是,php_http包在阿尔卑斯山中不存在,因此您需要编译pecl模块。

通过使用following question作为灵感,我发现在您的Dockerfile中添加以下代码效果很好:

代码语言:javascript
复制
RUN apk add --update --virtual .build-deps autoconf g++ make zlib-dev curl-dev libidn2-dev libevent-dev icu-dev libidn-dev 
RUN docker-php-ext-install mbstring tokenizer mysqli pdo_mysql json hash iconv

RUN pecl install raphf propro
RUN docker-php-ext-enable raphf propro
RUN pecl install pecl_http
RUN echo -e "extension=raphf.so\nextension=propro.so\nextension=iconv.so\nextension=http.so" > /usr/local/etc/php/conf.d/docker-php-ext-http.ini
RUN rm -rf /usr/local/etc/php/conf.d/docker-php-ext-raphf.ini
RUN rm -rf /usr/local/etc/php/conf.d/docker-php-ext-propro.ini
RUN rm -rf /tmp/*
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61999796

复制
相关文章

相似问题

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