我正在尝试使用 Composer 安装软件包。安装失败,并显示以下错误消息。
Problem 1
- zendframework/zend-soap 2.7.0 requires ext-soap * -> the requested PHP extension soap is missing from your system.
- zendframework/zend-soap 2.7.0 requires ext-soap * -> the requested PHP extension soap is missing from your system.
- zendframework/zend-soap 2.7.0 requires ext-soap * -> the requested PHP extension soap is missing from your system.
- Installation request for zendframework/zend-soap 2.7.0 -> satisfiable by zendframework/zend-soap[2.7.0].
sudo yum 安装 php-zendframework-zend-soap
这是我运行的安装 zend-soap 的命令。但是这会导致以下错误消息。
--> Running transaction check
---> Package php-container-interop.noarch 0:1.2.0-3.el7 will be installed
---> Package php-psr-http-message.noarch 0:1.0.1-1.el7.remi will be installed
---> Package php-soap.x86_64 0:5.6.40-14.el7.remi will be installed
--> Processing Dependency: php-common(x86-64) = 5.6.40-14.el7.remi for package: php-soap-5.6.40-14.el7.remi.x86_64
---> Package php-zendframework-zend-eventmanager.noarch 0:2.6.3-1.el7.remi will be installed
--> Finished Dependency Resolution
Error: Package: php-soap-5.6.40-14.el7.remi.x86_64 (remi-php56)
Requires: php-common(x86-64) = 5.6.40-14.el7.remi
Installed: php-common-7.2.20-1.el7.remi.x86_64 (@remi-php72)
php-common(x86-64) = 7.2.20-1.el7.remi
Available: php-common-5.4.16-48.el7.x86_64 (base)
php-common(x86-64) = 5.4.16-48.el7
Available: php-common-5.4.45-18.el7.remi.x86_64 (remi)
php-common(x86-64) = 5.4.45-18.el7.remi
Available: php-common-5.6.40-13.el7.remi.x86_64 (remi-php56)
php-common(x86-64) = 5.6.40-13.el7.remi
Available: php-common-5.6.40-14.el7.remi.x86_64 (remi-php56)
php-common(x86-64) = 5.6.40-14.el7.remi
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
我尝试使用 --skip-broken 运行它。这样不会安装缺少的 zend-soap。它会被跳过。我运行了第二个建议,但什么也没发生。有谁知道如何在 CentOS 7 上安装它吗?
答案1
Installed: php-common-7.2.20-1.el7.remi.x86_64 (@remi-php72)
由于您已经从“remi-php72”存储库安装了 PHP 7.2,因此您必须保持此存储库处于启用状态以确保可以找到其他扩展。
这也将确保您获得错误修复和安全更新的好处(最新版本是 7.2.30)
正如巫师。
yum-config-manager --enable remi-php72
你也可以禁用不需要的存储库
yum-config-manager --disable remi-php56
进而
yum install php-soap
答案2
您需要安装 PHP 的 soap 扩展。在 CentOS 7 上应该像这样工作:
yum install php-soap
安装完成后,您应该在中找到名为 的文件soap.ini
和/etc/php.d
模块本身/usr/lib64/php/modules
。
接下来重新启动 Apache 服务器(或你正在使用的任何 Web 服务器)
systemctl restart httpd
最后,您可以像尝试的那样通过 Composer 安装您的软件包。这次应该下载并安装了软件包。