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) 在此操作系统上安装扩展的方式吗?
PHP SOAP 扩展需要 PHP XML 扩展,如下所示: http: //php.net/manual/en/soap.requirements.php
我希望您需要先安装它。
想必docker-php-ext-install xml。
您不需要自己编译 XML 库,因为它将成为扩展的一部分。