如何在 Alpine 3.6 上安装 PHP Soap 扩展

mus*_*sme 6 php linux soap alpine-linux

我在尝试安装和启用 PHP Soap 扩展时遇到问题。我正在 Docker 容器内运行基本映像,php:7.2-fpm-alpine3.6该容器的说明如下所示Dockerfile。我不清楚 Alpine 上如何安装扩展。docker-php-ext-install据我推断,它似乎可以使用。

Dockerfile(我从某处采用了这个):

RUN apk --no-cache add \
        freetype libpng libjpeg-turbo freetype-dev libpng-dev libjpeg-turbo-dev \
        wget \
        git \
        nginx \
        ca-certificates \
        supervisor \
        bash \
        nano \
    && docker-php-ext-install \
        mysqli \
        pdo_mysql \
        opcache \
        ...
Run Code Online (Sandbox Code Playgroud)

所以,我尝试了

docker-php-ext-install soap
Run Code Online (Sandbox Code Playgroud)

这告诉我configure: error: xml2-config not found. Please check your libxml2 installation.我尝试了很多东西,但是

apk add --no-cache libxml2-dev
Run Code Online (Sandbox Code Playgroud)

似乎在做某事。我再次跟着这个docker-php-ext-install soap,输出了

Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20170718/
find . -name \*.gcno -o -name \*.gcda | xargs rm -f
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp.la       modules/* libs/*
Run Code Online (Sandbox Code Playgroud)

此时,我没有跑make test,因为不清楚我应该去哪里找到这个Makefile。我在下面搜索/usr/local/lib/php/extensions/no-debug-non-zts-20170718/soap.so已经在那里了。此外,我的命令已经为 PHP-FPM 启用了它。php -i显示/usr/local/etc/php/conf.d/docker-php-ext-soap.ini,.

我不完全确定我做了什么。这是 ( docker-php-ext-install) 在此操作系统上安装扩展的方式吗?

jjo*_*jok 5

PHP SOAP 扩展需要 PHP XML 扩展,如下所示: http: //php.net/manual/en/soap.requirements.php

我希望您需要先安装它。

想必docker-php-ext-install xml

您不需要自己编译 XML 库,因为它将成为扩展的一部分。