在 centos 6.5 上安装 php-mysql 时由于与 percona client 5.5 发生冲突而失败

在 centos 6.5 上安装 php-mysql 时由于与 percona client 5.5 发生冲突而失败

一些背景知识:我正在编写 Chef 手册,以设置用于本地开发的 LNMP 堆栈。它需要php-mysqlPHP 5.4 的库(使用php包)。我们正在使用yum-remi存储库来安装这些库。

对于我们的 Web 应用程序的本地开发,除了客户端之外,我们还需要安装 Percona 服务器 (5.5)(这个问题似乎在 5.6 中不存在)。为了测试仅负责安装 PHP 及其模块的配方,我们只需要 libmysqlclient.so.16,这是我们通过 Percona 客户端获得的。现在我专注于让 PHP 配方工作,但安装服务器后工作的解决方案将是理想的。这些从 repo 安装http://repo.percona.com/centos/6/os/x86_64/使用Chef-Percona 食谱

安装的软件包包括:

install version 5.5.42-rel37.1.el6 of package Percona-Server-devel-55
install version 5.5.42-rel37.1.el6 of package Percona-Server-client-55

PHP-mysql 是:

yum -d0 -e0 -y install php-mysql-5.4.40-1.el6.remi

这总是会引发这个错误:

STDOUT:  You could try using --skip-broken to work around the problem
        You could try running: rpm -Va --nofiles --nodigest       
STDERR: Error: Percona-XtraDB-Cluster-shared-55 conflicts with Percona-Server-shared-55-5.5.42-rel37.1.el6.x86_64

本质上Percona-XtraDB-Cluster-shared-55是的依赖php-mysql

如果我没有先安装任何 Percona,则会收到此错误:

STDOUT: ERROR with rpm_check_debug vs depsolve:
libmysqlclient.so.16()(64bit) is needed by postfix-2:2.6.6-6.el6_5.x86_64
libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by postfix-2:2.6.6-6.el6_5.x86_64
  You could try running: rpm -Va --nofiles --nodigest

如果我只包含percona::package_repo(只是将 Percona 存储库添加到yum repolist)而不安装客户端,它实际上会安装php-mysql,但是安装以下版本:

yum list installed | grep Percona
Percona-Server-shared-51.x86_64
Percona-Server-shared-56.x86_64
Percona-XtraDB-Cluster-shared-55.x86_64

正如我之前提到的,这在隔离环境中可能没问题,但我的 LNMP 手册中的另一个配方将在同一环境中安装 Percona 服务器 5.5,如果是这种情况,我预计会与上述情况发生冲突。我对此进行了测试,情况确实如此 - 我得到了Percona-XtraDB-Cluster-shared-55 conflicts with Percona-Server-shared-55-5.5.42-rel37.1.el6.x86_64与以前相同的错误。

我尝试过多种可能的解决方案,包括安装,Percona-Server-shared-compat但似乎总是发生冲突。有什么办法可以解决这个问题吗?

相关内容