与百胜冲突安装PHP和MySQL

我试图安装一个PHP扩展。

--> Running transaction check ---> Package mysql.x86_64 0:5.5.18-1.el5.art set to be updated ---> Package mysql-devel.x86_64 0:5.5.18-1.el5.art set to be updated ---> Package mysql-server.x86_64 0:5.5.18-1.el5.art set to be updated --> Processing Conflict: mysql50 conflicts MySQL --> Restarting Dependency Resolution with new changes. --> Running transaction check ---> Package mysql50.x86_64 0:5.0.92-1.ius.el5 set to be updated --> Processing Conflict: mysql50 conflicts MySQL --> Finished Dependency Resolution mysql50-5.0.92-1.ius.el5.x86_64 from ius has depsolving problems --> mysql50 conflicts with mysql Error: mysql50 conflicts with mysql You could try using --skip-broken to work around the problem You could try running: package-cleanup --problems package-cleanup --dupes rpm -Va --nofiles --nodigest 

如何进行?

它看起来像你使用的是旧版本的MySQL,而第三方的yum版本库有一个更新的版本。 它也看起来像你的PHP模块可能来自第三方回购,并依赖于较新版本的MySQL。

你有几个select。

  1. 通过卸载mysql50软件包并安装mysql软件包来升级MySQL。 如果这是数据库服务器,则应先备份数据库。

  2. 为你的php模块find一个不包含mysql包的不同的repo。

  3. 删除此第三方回购。 从repo下载php模块并用rpm命令安装它,或者把它放到你自己的本地yum repo中。

  4. 从源代码编译这个PHP模块对包括的版本的MySQL。

有几种方法可以使用IUS回购。

一个是删除RHEL软件包。

http://iuscommunity.org/Docs/GettingStarted

IUS软件包取代了现有的RHEL软件包,但是它们不会过时。 这意味着,你不能只是'升级',并得到我们的包…你需要先删除股票的RHEL包,如MySQL,并取而代之的是IUS包,如mysql51。 有关从IUS安装软件的完整示例,请参阅“客户端使用指南”。

另一个是使用replace插件包

http://iuscommunity.org/Doc/ClientUsageGuide

冲突replace软件包:几乎所有的IUS软件包都会发生冲突。 这意味着,在安装IUS版本之前,必须先卸载它们replace的软件包。 例如:mysql50和mysql51都与mysql冲突。 他们提供'mysql',但是他们不会过时mysql,因此订阅IUS Yum Repositories不会自动升级任何东西。 如果您尝试从IUS安装mysql5X软件包,您将会遇到Yum错误。 这就是说,一旦你删除原来的软件包(mysql,mysql-server,mysql-devel等)并安装IUS对应软件,所有的function都是一样的。

我build议第二个选项,并确保在更改之前备份所有数据。