【问题标题】:Enabling Soap Client for docker docker-compose php-fpm为 docker docker-compose php-fpm 启用 Soap 客户端
【发布时间】:2019-07-25 10:08:52
【问题描述】:

我正在开发一个 PHP SilverStripe CMS 项目。在我的项目中,我使用 SoapClient 来使用 Soap API。但是当我初始化 SoapClient 类时,我得到了这个错误。

Class 'SoapClient' not found

我发现我需要为 docker 启用 SoapClient。 Soap 已安装/启用,如下面的屏幕截图所示。

根据此处接受的答案,我还需要启用 Soap Client 和 Soap Server。 Fatal error: Class 'SoapClient' not found。我怎样才能做到这一点?我正在使用 docker-compose.yml。所以每当我运行 php 命令时,我都会像这样运行docker-compose exec php-fpm composer install

【问题讨论】:

    标签: php docker soap docker-compose soap-client


    【解决方案1】:

    如果您使用例如docker php-fpm;您可以从中构建并将构建添加到您的 docker-compose.yaml。

    Dockerfile 应该如下所示:

    FROM (NAMEOFIMAGE)
    RUN rm /etc/apt/preferences.d/no-debian-php && apt-get update && apt-get install -y libxml2-dev php-soap && docker-php-ext-install soap
    

    或者,您可以将基础映像添加为服务,然后在容器内手动执行第二行的操作:

    docker exec -it container_identifier bash

    rm /etc/apt/preferences.d/no-debian-php && apt-get update && apt-get install -y libxml2-dev php-soap && docker-php-ext-install soap

    然后重新启动 docker-compose。

    希望这对某人有所帮助。

    【讨论】: