我无法让肥皂与我的php Docker设置一起工作。
我使用的是Docker CE for Windows Version 18.03.1-ce-win65(17513)。 PHP版本7.2.3
我尝试从容器apt-get install php-soap
内部运行,这导致了
阅读包裹清单......完成
构建依赖树
阅读州信息......完成
*
包php-soap是一个虚拟包,提供者:
* php7.0-soap 7.0.27-0 + deb9u1 [非候选版] *
E:包'php-soap'没有安装候选者
正在运行docker-php-ext-install soap
导致错误配置:错误:找不到libxml2。请检查您的libxml2安装。
然而,在查看php信息时,我看到以下内容: libxml2 Version => 2.9.4
答案 0 :(得分:1)
您需要安装libxml2-dev作为dockerfile的一部分,图像保持最小,并且不包括每个模块所需的所有位。虽然图像可能有主包,但-dev包中包含编译依赖它的其他模块所需的组件......
RUN apt-get update && \
apt-get install -y libxml2-dev
答案 1 :(得分:0)
这不在此仓库的范围内。
您应该通过以下方法获取它:
RUN apt-get update -y \
&& apt-get install -y \
libxml2-dev \
php-soap \
&& apt-get clean -y \
&& docker-php-ext-install soap
答案 2 :(得分:0)
对我来说,使用PHP 7.3.2时,其他解决方案均无效。
“ php-soap”和“ php7.3-soap”都收到“ phpXXX-soap没有安装候选”错误。
单独的“ docker-php-ext-install soap”想要“ libxml2-dev”,所以我只安装了必需品:
FROM php:7.3
RUN apt-get update -y \
&& apt-get install -y \
libxml2-dev \
&& apt-get clean -y \
&& docker-php-ext-install soap
...而且效果很好。