Ubuntu 16.04系统PHP 7.4无法启用SOAP扩展仅7.0版本正常安装该扩展
解决Ubuntu 16.04下PHP7.4无法加载SOAP扩展的问题
PHP扩展的.so文件和PHP主版本严格绑定,你当前使用的/usr/lib/php/20151012/soap.so是PHP7.0对应版本,和PHP7.4的API接口不兼容,这是之前操作全部无效的根本原因,强行配置也无法加载。
操作步骤
1. 添加兼容PHP7.4的第三方软件源
Ubuntu 16.04官方默认源的PHP版本最高仅支持到7.0,无法直接获取PHP7.4的扩展包,需要添加维护状态稳定的ondrej/php PPA源:
如果add-apt-repository命令不存在,先安装依赖工具:
sudo apt install software-properties-common
之后添加源并更新软件列表:
sudo add-apt-repository ppa:ondrej/php sudo apt update
2. 安装PHP7.4专属SOAP扩展
源更新完成后直接安装对应版本的扩展包,不需要卸载旧版本PHP,多版本PHP可共存:
sudo apt install php7.4-soap
安装过程中系统会自动生成/etc/php/7.4/mods-available/soap.ini配置文件,同时自动为fpm、cli等运行场景创建对应软链接,无需手动复刻配置。
3. 重启服务生效
sudo service php7.4-fpm restart sudo service nginx restart
验证是否生效
执行cli命令直接查看扩展加载状态:
php7.4 -m | grep soap
输出soap即代表扩展加载成功。
注意事项
- 你之前手动在
php.ini中添加的extension=soap.so相关配置可以删除,避免和自动生成的配置产生冲突 - 如果仍加载失败,可查看PHP7.4-fpm错误日志排查具体问题,日志默认路径为
/var/log/php7.4-fpm.log
内容的提问来源于stack exchange,提问作者Elkrat
相关产品推荐
相关产品推荐

