Немного предыстории: я пишу поваренную книгу Chef, чтобы настроить стек LNMP для локальной разработки. Это требует php-mysql
библиотека для PHP 5.4 (с использованием php
пакет). Мы используем yum-remi
репозиторий для их установки.
Для локальной разработки нашего веб-приложения нам требуется установленный сервер Percona (5.5) в дополнение к клиенту (эта проблема, похоже, не существует в версии 5.6). Для тестирования рецепта, отвечающего только за установку PHP и его модулей, нам нужен только libmysqlclient.so.16, который мы получаем через клиент Percona. Прямо сейчас я сосредоточен на том, чтобы заставить работать PHP-рецепт, но решение, которое работает, когда установлен сервер, было бы идеальным. Они устанавливаются из репо по адресу 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 server 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
но это всегда кажется конфликтом. Есть идеи, что я могу сделать, чтобы это исправить?