我正在尝试在Red Hat Enterprise Linux Server 6.6版(圣地亚哥)上安装php-mbstring。这是我的yum命令/响应:
-bash-4.1$ yum install php-mbstring --enablerepo=optional
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mbstring.x86_64 0:5.3.3-27.el6_5 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-27.el6_5 for package: php-mbstring-5.3.3-27.el6_5.x86_64
--> Finished Dependency Resolution
Error: Package: php-mbstring-5.3.3-27.el6_5.x86_64 (optional)
Requires: php-common(x86-64) = 5.3.3-27.el6_5
Installed: php-common-5.3.3-40.el6_6.x86_64 (@updates)
php-common(x86-64) = 5.3.3-40.el6_6
Available: php-common-5.3.3-3.el6_2.8.x86_64 (updates)
php-common(x86-64) = 5.3.3-3.el6_2.8
Available: php-common-5.3.3-14.el6_3.x86_64 (updates)
php-common(x86-64) = 5.3.3-14.el6_3
Available: php-common-5.3.3-22.el6.x86_64 (updates)
php-common(x86-64) = 5.3.3-22.el6
Available: php-common-5.3.3-23.el6_4.x86_64 (updates)
php-common(x86-64) = 5.3.3-23.el6_4
Available: php-common-5.3.3-26.el6.x86_64 (base)
php-common(x86-64) = 5.3.3-26.el6
Available: php-common-5.3.3-27.el6_5.x86_64 (updates)
php-common(x86-64) = 5.3.3-27.el6_5
Available: php-common-5.3.3-27.el6_5.1.x86_64 (updates)
php-common(x86-64) = 5.3.3-27.el6_5.1
Available: php-common-5.3.3-27.el6_5.2.x86_64 (updates)
php-common(x86-64) = 5.3.3-27.el6_5.2
Available: php-common-5.3.3-38.el6.x86_64 (updates)
php-common(x86-64) = 5.3.3-38.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
然而,安装了php-common:
-bash-4.1$ sudo yum list install php-common*
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Installed Packages
php-common.x86_64 5.3.3-40.el6_6 @updates
问题似乎是版本错误。但版本比需要的版本更新,所以不应该有用吗?
我确实尝试了--skip-broken
和rpm -Va --nofiles --nodigest
,但没有运气。
答案 0 :(得分:1)
php-mbstring包不是Base channel repo的一部分。您需要添加Optional通道才能访问它的任何更新。
首先,您需要知道如何接收更新:通过Classic / Satellite或Subscription Manager。这将改变频道的添加方式。
如果使用Classic,请尝试:rhn-channel --add --channel = rhel-x86_64-server-optional-6 系统将提示您输入RHN凭证。
过去当我使用经典模式进行更新时,这对我有用。我已更新为使用Subscription Manager,并以不同的方式添加频道。
要使用Subscription Manager添加频道,请执行以下操作: 订阅管理器repos --enable rhel-6-server-optional-source-rpms (链接:https://access.redhat.com/solutions/392003)
无论出于何种原因,该命令本身并没有解决我的依赖问题。我还必须告诉百胜启用该频道。我用这个命令这样做了: yum-config-manager --enable rhel-6-server-optional-rpms (链接:https://access.redhat.com/solutions/221963)
完成这些步骤后,我的更新工作并解决了依赖关系。
答案 1 :(得分:0)
如果有用,当您没有RHN凭据时,您可以执行以下操作:
首先,在网上找到一个包(它必须是你确切的php版本),即:php-mbstring-5.3.3-40.el6_6.x86_64.rpm
wget http://mirror.centos.org/centos/6/updates/x86_64/Packages/php-mbstring-5.3.3-40.el6_6.x86_64.rpm
sudo yum localinstall php-mbstring-5.3.3-40.el6_6.x86_64.rpm
我希望它有所帮助!