Alguns antecedentes: estou escrevendo um livro de receitas do Chef para configurar uma pilha LNMP para desenvolvimento local. Ele requer a biblioteca php-mysql
para o PHP 5.4 (usando o pacote php
). Estamos usando o repositório yum-remi
para instalá-los.
Para o desenvolvimento local de nosso aplicativo da web, exigimos o servidor Percona instalado (5.5) além do cliente (esse problema parece não existir com o 5.6). Para testar a receita responsável apenas por instalar o PHP e seus módulos, nós só precisamos do libmysqlclient.so.16, o qual obtemos através do cliente Percona. No momento, estou focando apenas em fazer com que a receita do PHP funcione, mas uma solução que funciona quando o servidor é instalado seria ideal. Estes são instalados a partir do repo no link usando o Livro de receitas Chef-Percona
Os pacotes que são instalados são:
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
O PHP-mysql é:
yum -d0 -e0 -y install php-mysql-5.4.40-1.el6.remi
Isso sempre gera esse erro:
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
Essencialmente Percona-XtraDB-Cluster-shared-55
é uma dependência de php-mysql
.
Se eu não instalar nada Percona primeiro, recebo este erro:
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
Se eu incluir apenas o percona::package_repo
(que simplesmente adiciona o repositório Percona ao yum repolist
) e não instalar o cliente, ele realmente instalará php-mysql
, mas com as seguintes versões:
yum list installed | grep Percona
Percona-Server-shared-51.x86_64
Percona-Server-shared-56.x86_64
Percona-XtraDB-Cluster-shared-55.x86_64
Como eu mencionei anteriormente, isso pode ser ok em um ambiente isolado, mas outra receita no meu livro de receitas do LNMP será a instalação do Percona server 5.5 no mesmo ambiente, e estou antecipando conflitos com o acima, se for esse o caso. Eu testei isso e foi o caso - recebi o mesmo erro Percona-XtraDB-Cluster-shared-55 conflicts with Percona-Server-shared-55-5.5.42-rel37.1.el6.x86_64
de antes.
Eu tentei várias soluções possíveis, incluindo a instalação de Percona-Server-shared-compat
, mas sempre parece estar em conflito. Alguma idéia do que posso fazer para corrigir isso?