多克高山图像上的 PHP HTTP 扩展

我正在尝试在我的 PHP 阿尔卑斯映像上安装/启用 PHP 扩展。


我的应用程序文件包含 ,因此是我的目标。composer.json"ext-http": "*"


我的泊坞文件(相关部分)如下所示:


# PHP-FPM Base Image

FROM php:7.2.26-fpm-alpine


# Install PHP extensions

RUN apk add --update --virtual .build-deps autoconf g++ make zlib-dev curl-dev \

  && 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 \

  && apk del .build-deps \

  && rm -rf /tmp/*

但是,在运行时,我收到以下警告:composer update


PHP Warning:  PHP Startup: Unable to load dynamic library 'http.so' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20170718/http.so (Error relocating /usr/local/lib/php/extensions/no-debug-non-zts-20170718/http.so: uidna_IDNToASCII: symbol not found), /usr/local/lib/php/extensions/no-debug-non-zts-20170718/http.so.so (Error loading shared library /usr/local/lib/php/extensions/no-debug-non-zts-20170718/http.so.so: No such file or directory)) in Unknown on line 0

之后,该命令将失败:composer update


The requested PHP extension ext-http * is missing from your system. Install or enable PHP's http extension.

警告的部分让我停顿,使我认为文件正在不正确的位置查找。http.so.so


我的参考是以下多克文件:https://hub.docker.com/r/realpaul/docker-php/dockerfile


有人可以帮我调试这个问题吗?谢谢!


牛魔王的故事
浏览 53回答 1
1回答

MMTTMM

该错误消息的一部分内容如下:http.so: uidna_IDNToASCII: 找不到符号根据PECL_HTTP已安装,但不起作用,此错误消息指向不可用。请尝试通过回显来启用它。iconv.so/usr/local/etc/php/conf.d/docker-php-ext-http.ini此外,如果您假设它没有放在PHP期望的位置,则应尝试在正在运行的容器中启动bash以查看该文件是否存在。但是,当该文件抛出错误时,您可以假设它在那里http.so
打开App,查看更多内容
随时随地看视频慕课网APP