首页 > 解决方案 > 在 docker 容器中为 php 启用soap

问题描述

我一直无法让肥皂与我的 php Docker 设置一起使用。

我正在为 Windows 版本 18.03.1-ce-win65 (17513) 使用 Docker CE。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 结果报错configure: error: libxml2 not found。请检查您的 libxml2 安装。

但是,当查看 php 信息时,我看到以下内容: libxml2 Version => 2.9.4

标签: phpdockersoap

解决方案


您需要将 libxml2-dev 安装为 dockerfile 的一部分,图像保持在最低限度,并且不包括每个模块所需的所有位。虽然图像可能有主包,但 -dev 包包含编译依赖它的其他模块所需的组件......

RUN apt-get update && \
    apt-get install -y libxml2-dev

(来自https://github.com/docker-library/php/issues/315

只是为了说清楚-命令

RUN docker-php-ext-install soap

然后将成功运行以安装soap库。


推荐阅读