我正在尝试使用 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 上安装它。
由于您已从“remi-php72”存储库安装 PHP 7.2,因此您必须启用此存储库以确保可以找到附加扩展。
这也将确保您从错误修复和安全更新中受益(最新版本是 7.2.30)
正如向导所解释的那样。
您还可以禁用不需要的存储库
接着
您需要安装 PHP 的 soap 扩展。在 CentOS 7 上应该像这样工作:
安装完成后,您应该在 .in 中找到调用
soap.ini
的文件/etc/php.d
和模块本身/usr/lib64/php/modules
。接下来重新启动您的 Apache 服务器(或您正在使用的任何网络服务器)
最后,您可以尝试通过 Composer 安装您的软件包。这次应该下载并安装软件包。