【发布时间】:2020-05-23 06:34:57
【问题描述】:
我正在尝试在我的 PHP alpine 映像上安装/启用 PHP http 扩展。
我的应用程序的composer.json 文件包含"ext-http": "*",因此是我的目标。
我的 Dockerfile(相关部分)如下:
# 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 部分让我暂停,让我认为在错误的位置查找文件。
我的参考是以下 Dockerfile:https://hub.docker.com/r/realpaul/docker-php/dockerfile
有人可以帮我调试这个问题吗?谢谢!
【问题讨论】:
标签: php docker composer-php alpine