Ubuntu 16.04环境下为PHP7.0与PHP7.4启用soap7.0扩展问题咨询
问题排查方向及解决方案
1. Apache加载的PHP版本不匹配
多版本PHP共存环境下,Apache默认启用的PHP版本可能和你修改配置的版本不一致,可按以下步骤验证:
- 执行命令
a2query -m | grep php查看当前Apache加载的PHP模块,若返回结果为php7.4而非php7.0,修改7.0版本的php.ini不会生效 - 如需切换到PHP7.0,执行以下命令即可:
a2dismod php7.4 a2enmod php7.0 systemctl restart apache2
切换完成后再检查soap扩展是否生效。
2. 修改的配置文件不是实际加载的文件
- 查看phpinfo页面的
Loaded Configuration File字段,确认实际加载的ini路径是否为你修改的/etc/php/7.0/apache2/php.ini - 检查PHP扩展单独配置目录
/etc/php/7.0/apache2/conf.d/下是否存在soap的独立配置文件(通常命名为20-soap.ini),确保该文件中extension=soap.so没有被注释。
3. 扩展文件损坏或安装不完整
- 执行命令
dpkg -L php7.0-soap查看扩展安装的文件列表,确认soap.so文件存在,PHP7.0对应的默认扩展路径为/usr/lib/php/20151012/soap.so - 若文件缺失可尝试重装扩展:
apt purge php7.0-soap apt install php7.0-soap systemctl restart apache2
4. 配置修改后未重启Apache
mod_php模式下修改php.ini配置后必须重启Apache才能生效,执行systemctl restart apache2后再验证。
补充:PHP7.4安装soap扩展方案
Ubuntu16.04官方源没有php7.4-soap包,可添加第三方维护的PHP源安装:
add-apt-repository ppa:ondrej/php apt update apt install php7.4-soap
内容的提问来源于stack exchange,提问作者Sanchez9a
相关产品推荐
相关产品推荐

