为PHP 7.0而不是7.4安装了Nginx SOAP扩展

vecaoik1  于 2022-12-17  发布在  PHP
关注(0)|答案(2)|浏览(121)

我有一台Ubuntu 16.04.6计算机,需要为PHP 7.4启用SOAP扩展,但目前只为7.0安装了SOAP扩展。扩展本身位于路径/usr/lib/php/20151012/ www.example.com中soap.so
我用过apt-get remove php-soap和apt-get install php-soap,但是除了7.0文件夹外,没有安装到任何地方。我注意到在7.0文件夹中有一些文件和符号链接,我已经将其复制到7.4文件夹结构中。/etc/php/7.4/mods-available现在包含soap.ini,并且在文件夹/etc/php/7.4/中放置了一个名为20-soap.ini的符号链接fpm/conf.d这与所有其他扩展是一致的,它们几乎都是在一年前我升级PHP时安装的。
在php.ini文件中,我取消了对extension= www.example.com的注解soap.so,并尝试将该行更改为extension=/usr/lib/php/20151012/soap.so

service php7.4-fpm restart
service nginx restart

所有这些都没有用。有人能拍拍我的头,告诉我我错过了什么吗?我应该尝试删除以前的PHP版本,然后重新安装soap扩展吗?我看到线程提到7.4的特定软件包,如php7.4-soap,但在我的仓库中找不到。
任何帮助都是感激的!

1yjd4xko

1yjd4xko1#

尝试以下命令apt install php7.4-soap

qoefvg9y

qoefvg9y2#

sudo add-apt-repository ppa:jczaplicki/xenial-php74-temp
sudo apt-get update
sudo apt install php7.4-soap

这是在你的系统中添加一个外部的PPA仓库。如果你不信任维护者,你不应该这样做,因为这可能会暴露你的系统。也要注意,这可能适用于安装php,但不能保证您通过它接收更新(存储库名称中的单词“temp”表示这只是临时的)。如果您真的需要在16.04上安装它,我宁愿建议您自己编译它。
这也将安装php版本7.4.13,你可能需要删除已经安装的php 7.4,并在添加此ppa后重新安装

相关问题