我有以下简单的dockerfile来添加来自高山的php,
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机器上运行
发布于 2020-05-25 17:50:22
首先,您可以在添加包之前添加一个apk update。但是,php_http包在阿尔卑斯山中不存在,因此您需要编译pecl模块。
通过使用following question作为灵感,我发现在您的Dockerfile中添加以下代码效果很好:
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/*https://stackoverflow.com/questions/61999796
复制相似问题