You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04.1 LTS启用SoapClient失败求助:找不到php7.0-soap包

解决Ubuntu 18.04.1 LTS上PHP7.0 SoapClient启用失败的问题

从你的错误日志和操作过程来看,主要有三个核心问题:

  1. 错误引用了Windows平台的PHP扩展文件(php_soap.dll),Linux下的PHP扩展是.so格式;
  2. Ubuntu 18.04官方默认源不包含PHP7.0的软件包,导致你无法直接安装php7.0-soap;
  3. 安装了php7.2-soap但没有切换到PHP7.2版本,当前运行的PHP7.0仍然缺少soap扩展。

下面是分步解决方案:

1. 修正php.ini中的错误扩展配置

Linux下的PHP不会识别.dll格式的扩展,你需要先修正这个配置:

  • 首先找到PHP7.0对应的php.ini文件,执行命令:
    php7.0 --ini
    
    输出里的Loaded Configuration File就是你要修改的文件路径。
  • 打开该文件,找到类似extension=php_soap.dll的行,把它注释掉(前面加;),然后添加正确的扩展配置:
    ; extension=php_soap.dll
    extension=soap
    
  • 保存并关闭文件。

2. 添加PHP7.0的软件源并安装对应soap扩展

Ubuntu 18.04默认源只维护PHP7.2及以上版本,要安装PHP7.0的扩展,需要添加第三方PPA源:

  • 执行以下命令添加源并更新软件列表:
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    
  • 现在可以正常安装PHP7.0的soap扩展了:
    sudo apt-get install php7.0-soap
    

3. 重启Web服务器使配置生效

根据你使用的Web服务器类型,执行对应的重启命令:

  • 如果是Apache:
    sudo systemctl restart apache2
    
  • 如果是Nginx+PHP-FPM:
    sudo systemctl restart php7.0-fpm
    sudo systemctl restart nginx
    

可选方案:切换到Ubuntu 18.04默认的PHP7.2

如果你没有必须使用PHP7.0的理由,更推荐切换到系统默认支持的PHP7.2,这样后续维护更方便:

  • 切换Apache的PHP模块:
    sudo a2dismod php7.0
    sudo a2enmod php7.2
    sudo systemctl restart apache2
    
  • (可选)切换CLI默认PHP版本:
    sudo update-alternatives --set php /usr/bin/php7.2
    

验证SoapClient是否正常启用

执行以下命令检查soap模块是否加载:

php7.0 -m | grep soap

如果输出soap,说明扩展已经成功加载;也可以重新访问你的phpinfo()页面,搜索soap关键词,确认模块已启用。

内容的提问来源于stack exchange,提问作者DrNeo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:44:21