为了账号安全,请及时绑定邮箱和手机立即绑定

Docker:如何安装 PHP 7.4 扩展 ext-http?

Docker:如何安装 PHP 7.4 扩展 ext-http?

PHP
阿波罗的战车 2022-07-29 10:09:16
我想安装ext-http扩展,因为在php-apache容器中执行 composer install 命令时出现此错误:您的系统中缺少请求的 PHP 扩展 ext-http *。安装或启用 PHP 的 http 扩展。我的 Dockerfile:ARG PHP_VERSION=""FROM php:${PHP_VERSION}-apacheENV COMPOSER_ALLOW_SUPERUSER=1EXPOSE 80WORKDIR /${PROJECT_DIRECTORY}# git, unzip & zip are for composerRUN apt-get update -qq && \    apt-get install -qy \    git \    gnupg \    libfreetype6-dev \    libjpeg62-turbo-dev \    libmcrypt-dev \    libicu-dev \    libxml2-dev \    wget \    nano \    unzip \    zip && \    curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \    apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*# PHP ExtensionsRUN docker-php-ext-install -j$(nproc) opcache pdo_mysql intl xml soapADD php/php.ini /usr/local/etc/php/conf.d/${PROJECT_DIRECTORY}.ini# ApacheRUN a2enmod rewrite remoteipADD vhosts/vhost.conf /etc/apache2/sites-available/000-default.conf我"ext-http": "*"在require我的composer.json.我试过了:运行 docker-php-ext-install -j$(nproc) opcache pdo_mysql intl xml soap ext-http我有这个错误:步骤 7/10:运行 docker-php-ext-install -j$(nproc) opcache pdo_mysql intl xml soap ext-http ---> 在 8ef2c127b632 错误中运行:/usr/src/php/ext/ext-http 没有存在用法:/usr/local/bin/docker-php-ext-install [-jN] ext-name [ext-name ...] 即:/usr/local/bin/docker-php-ext-install gd mysqli / usr/local/bin/docker-php-ext-install pdo pdo_mysql /usr/local/bin/docker-php-ext-install -j5 gd mbstring mysqli pdo pdo_mysql shmop如果需要自定义 ./configure 参数,请参阅 docker-php-ext-configure上面的一些模块已经编译成PHP;请检查“php -i”的输出以查看哪些模块已加载。错误:服务“apache”未能构建:命令“/bin/sh -c docker-php-ext-install -j$(nproc) opcache pdo_mysql intl xml soap ext-http”返回非零代码:1 失败部署“撰写:.docker”:docker-compose进程以退出代码 1 完成请问如何安装这个扩展?
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

我发布了一个脚本,让您只需以下几行即可安装 http PHP 扩展(以及许多其他扩展):


ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/


RUN chmod +x /usr/local/bin/install-php-extensions && sync && \

    install-php-extensions http

该脚本负责 PHP 版本,并安装所有必需的 APT(对于 Debian)或 APK(对于 Alpine)包。


更多细节在这里:https ://github.com/mlocati/docker-php-extension-installer


查看完整回答
反对 回复 2022-07-29
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您可能想通过 pecl 安装它。http 扩展也有依赖项。


RUN  docker-php-ext-install hash iconv \

&& pecl install raphf propro \

&& docker-php-ext-enable raphf propro \

&& pecl install pecl_http \

&& echo -e "extension=raphf.so\nextension=propro.so\nextension=http.so" > /usr/local/etc/php/conf.d/docker-php-ext-http.ini \

&& rm -rf /usr/local/etc/php/conf.d/docker-php-ext-raphf.ini \

&& rm -rf /usr/local/etc/php/conf.d/docker-php-ext-propro.ini 

我通过https://hub.docker.com/r/realpaul/docker-php/dockerfile获得了灵感


查看完整回答
反对 回复 2022-07-29
  • 2 回答
  • 0 关注
  • 251 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号