Вопрос или проблема
Я пытаюсь установить Zabbix 3.2 на Centos7 с PHP7.
Команда:
yum -y install zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-agent
Результат:
Загруженные плагины: fastestmirror, langpacks, replace
Загрузка скорости зеркал из кеша
* base: mirror.us-midwest-1.nexcess.net
* epel: mirror.steadfast.net
* extras: mirror.millry.co
* ius: dfw.mirror.rackspace.com
* updates: repos-va.psychz.net
Разрешение зависимостей
--> Выполнение проверки транзакции
---> Пакет zabbix-agent.x86_64 0:3.2.6-1.el7 будет установлен
---> Пакет zabbix-get.x86_64 0:3.0.9-1.el7 будет обновлен
---> Пакет zabbix-get.x86_64 0:3.2.6-1.el7 будет обновлением
---> Пакет zabbix-server-mysql.x86_64 0:3.2.6-1.el7 будет установлен
---> Пакет zabbix-web-mysql.noarch 0:3.2.6-1.el7 будет установлен
--> Обработка зависимости: zabbix-web = 3.2.6-1.el7 для пакета: zabbix-web-mysql-3.2.6-1.el7.noarch
--> Обработка зависимости: php-mysql для пакета: zabbix-web-mysql-3.2.6-1.el7.noarch
--> Выполнение проверки транзакции
---> Пакет php56u-mysqlnd.x86_64 0:5.6.30-2.ius.centos7 будет установлен
--> Обработка зависимости: php56u-pdo(x86-64) = 5.6.30-2.ius.centos7 для пакета: php56u-mysqlnd-5.6.30-2.ius.centos7.x86_64
---> Пакет zabbix-web.noarch 0:3.2.6-1.el7 будет установлен
--> Обработка зависимости: php-gd для пакета: zabbix-web-3.2.6-1.el7.noarch
--> Обработка зависимости: php-bcmath для пакета: zabbix-web-3.2.6-1.el7.noarch
--> Обработка зависимости: php-ldap для пакета: zabbix-web-3.2.6-1.el7.noarch
--> Выполнение проверки транзакции
---> Пакет php56u-pdo.x86_64 0:5.6.30-2.ius.centos7 будет установлен
--> Обработка зависимости: php56u-common(x86-64) = 5.6.30-2.ius.centos7 для пакета: php56u-pdo-5.6.30-2.ius.centos7.x86_64
---> Пакет php71u-bcmath.x86_64 0:7.1.6-1.ius.centos7 будет установлен
--> Обработка зависимости: php-common(x86-64) = 7.1.6-1.ius.centos7 для пакета: php71u-bcmath-7.1.6-1.ius.centos7.x86_64
---> Пакет php71u-gd.x86_64 0:7.1.6-1.ius.centos7 будет установлен
---> Пакет php71u-ldap.x86_64 0:7.1.6-1.ius.centos7 будет установлен
--> Выполнение проверки транзакции
---> Пакет php56u-common.x86_64 0:5.6.30-2.ius.centos7 будет установлен
--> Обработка зависимости: php56u-pecl-jsonc(x86-64) для пакета: php56u-common-5.6.30-2.ius.centos7.x86_64
---> Пакет php71u-common.x86_64 0:7.1.6-1.ius.centos7 будет установлен
--> Выполнение проверки транзакции
---> Пакет php56u-pecl-jsonc.x86_64 0:1.3.10-2.ius.centos7 будет установлен
--> Обработка зависимости: php56u-pear для пакета: php56u-pecl-jsonc-1.3.10-2.ius.centos7.x86_64
--> Обработка зависимости: php56u-pear для пакета: php56u-pecl-jsonc-1.3.10-2.ius.centos7.x86_64
--> Выполнение проверки транзакции
---> Пакет php56u-pear.noarch 1:1.10.4-1.ius.centos7 будет установлен
--> Обработка зависимости: php56u-cli для пакета: 1:php56u-pear-1.10.4-1.ius.centos7.noarch
--> Обработка зависимости: php56u-posix для пакета: 1:php56u-pear-1.10.4-1.ius.centos7.noarch
--> Обработка зависимости: php56u-xml для пакета: 1:php56u-pear-1.10.4-1.ius.centos7.noarch
--> Выполнение проверки транзакции
---> Пакет php56u-cli.x86_64 0:5.6.30-2.ius.centos7 будет установлен
---> Пакет php56u-process.x86_64 0:5.6.30-2.ius.centos7 будет установлен
---> Пакет php56u-xml.x86_64 0:5.6.30-2.ius.centos7 будет установлен
--> Конфликт: php70u-cli-7.0.19-1.ius.centos7.x86_64 конфликтует с php-cli < 7.0.19
--> Перезапуск разрешения зависимостей с новыми изменениями.
--> Выполнение проверки транзакции
---> Пакет php70u-cli.x86_64 0:7.0.19-1.ius.centos7 будет обновлен
---> Пакет php70u-cli.x86_64 0:7.0.20-1.ius.centos7 будет обновлением
--> Обработка зависимости: php-common(x86-64) = 7.0.20-1.ius.centos7 для пакета: php70u-cli-7.0.20-1.ius.centos7.x86_64
--> Выполнение проверки транзакции
---> Пакет php70u-common.x86_64 0:7.0.19-1.ius.centos7 будет обновлен
--> Обработка зависимости: php-common(x86-64) = 7.0.19-1.ius.centos7 для пакета: mod_php70u-7.0.19-1.ius.centos7.x86_64
--> Обработка зависимости: php-common(x86-64) = 7.0.19-1.ius.centos7 для пакета: php70u-mbstring-7.0.19-1.ius.centos7.x86_64
--> Обработка зависимости: php-common(x86-64) = 7.0.19-1.ius.centos7 для пакета: php70u-mcrypt-7.0.19-1.ius.centos7.x86_64
--> Обработка зависимости: php-common(x86-64) = 7.0.19-1.ius.centos7 для пакета: php70u-pdo-7.0.19-1.ius.centos7.x86_64
--> Обработка зависимости: php-common(x86-64) = 7.0.19-1.ius.centos7 для пакета: php70u-xml-7.0.19-1.ius.centos7.x86_64
--> Обработка зависимости: php-common(x86-64) = 7.0.19-1.ius.centos7 для пакета: php70u-json-7.0.19-1.ius.centos7.x86_64
---> Пакет php70u-common.x86_64 0:7.0.20-1.ius.centos7 будет обновлением
--> Выполнение проверки транзакции
---> Пакет mod_php70u.x86_64 0:7.0.19-1.ius.centos7 будет обновлен
---> Пакет mod_php70u.x86_64 0:7.0.20-1.ius.centos7 будет обновлением
---> Пакет php70u-json.x86_64 0:7.0.19-1.ius.centos7 будет обновлен
---> Пакет php70u-json.x86_64 0:7.0.20-1.ius.centos7 будет обновлением
---> Пакет php70u-mbstring.x86_64 0:7.0.19-1.ius.centos7 будет обновлен
---> Пакет php70u-mbstring.x86_64 0:7.0.20-1.ius.centos7 будет обновлением
---> Пакет php70u-mcrypt.x86_64 0:7.0.19-1.ius.centos7 будет обновлен
---> Пакет php70u-mcrypt.x86_64 0:7.0.20-1.ius.centos7 будет обновлением
---> Пакет php70u-pdo.x86_64 0:7.0.19-1.ius.centos7 будет обновлен
--> Обработка зависимости: php-pdo(x86-64) = 7.0.19-1.ius.centos7 для пакета: php70u-mysqlnd-7.0.19-1.ius.centos7.x86_64
---> Пакет php70u-pdo.x86_64 0:7.0.20-1.ius.centos7 будет обновлением
---> Пакет php70u-xml.x86_64 0:7.0.19-1.ius.centos7 будет обновлен
---> Пакет php70u-xml.x86_64 0:7.0.20-1.ius.centos7 будет обновлением
--> Выполнение проверки транзакции
---> Пакет php70u-mysqlnd.x86_64 0:7.0.19-1.ius.centos7 будет обновлен
---> Пакет php70u-mysqlnd.x86_64 0:7.0.20-1.ius.centos7 будет обновлением
--> Конфликт: php71u-common-7.1.6-1.ius.centos7.x86_64 конфликтует с php56u-common-5.6.30-2.ius.centos7.x86_64
--> Конфликт: php70u-xml-7.0.20-1.ius.centos7.x86_64 конфликтует с php56u-xml-5.6.30-2.ius.centos7.x86_64
--> Конфликт: php71u-common-7.1.6-1.ius.centos7.x86_64 конфликтует с php70u-common-7.0.20-1.ius.centos7.x86_64
--> Конфликт: php70u-mysqlnd-7.0.20-1.ius.centos7.x86_64 конфликтует с php56u-mysqlnd-5.6.30-2.ius.centos7.x86_64
--> Конфликт: php70u-cli-7.0.20-1.ius.centos7.x86_64 конфликтует с php56u-cli-5.6.30-2.ius.centos7.x86_64
--> Конфликт: php70u-pdo-7.0.20-1.ius.centos7.x86_64 конфликтует с php56u-pdo-5.6.30-2.ius.centos7.x86_64
--> Конфликт: php70u-common-7.0.20-1.ius.centos7.x86_64 конфликтует с php56u-common-5.6.30-2.ius.centos7.x86_64
--> Конфликт: php70u-json-7.0.20-1.ius.centos7.x86_64 конфликтует с php56u-pecl-jsonc-1.3.10-2.ius.centos7.x86_64
Пытался исправить с помощью команд yum-plugin-replace
Например:
yum replace php56u-common --replace-with php71u-common
получил такой вывод:
Загруженные плагины: fastestmirror, langpacks, replace
Замена пакетов занимает время, пожалуйста, подождите...
Ошибка: Пакет 'php56u-common' не установлен.
также пробовал (по этой ссылке):
yum replace php-common --replace-with php71u-common
и получил такой вывод:
Загруженные плагины: fastestmirror, langpacks, replace
Замена пакетов занимает время, пожалуйста, подождите...
Ошибка: Пакет 'php-common' не установлен
Я заметил, что эти пакеты php56 не были установлены, когда делал yum list installed
, но появляются при выполнении yum list available
.
Буду признателен за любые идеи, как это исправить.
Попробуйте это:
Удалите все пакеты PHP
yum remove php*
Установите пакеты PHP 7.1:
yum install php71u php71u-cli php71u-common php71u-gd php71u-mbstring php71u-mysqlnd php71u-pdo php71u-xml php71u-json
Готово, проверьте версию сейчас php -v
Ответ или решение
Установка Zabbix 3.2 на CentOS 7 с конфликта PHP 7 и PHP 5.6
Установка Zabbix на CentOS 7 может столкнуться с проблемами, связанными с конфликтующими версиями PHP. В данном случае вы пытаетесь установить Zabbix 3.2, но при этом ваша система использует PHP 7, что вызывает конфликты с зависимостями пакетов, когда Zabbix требует другие версии PHP (в данном случае PHP 5.6).
Причины конфликта
В процессе установки Zabbix, система пытается установить пакеты, которые имеют зависимости от PHP 5.6 (например, php56u-mysqlnd
), и одновременно пытается обновить пакеты PHP 7. Эти зависимости вызывают конфликты, поскольку разные версии PHP не могут существовать одновременно в одном репозитории, если они не настроены должным образом.
Шаги по устранению конфликта
Для успешной установки Zabbix с использованием PHP 7 в вашей системе важно выполнить следующие шаги:
-
Удаление всех пакетов PHP:
Чтобы устранить конфликты, начнем с удаления всех установленных пакетов PHP. Используйте следующую команду:yum remove php*
Проверка выполнена успешно, если команда не выдает ошибок.
-
Установка пакетов PHP 7.1:
После удаления предыдущих версий PHP установите необходимые пакеты PHP 7.1, которые требуются для работы Zabbix:yum install php71u php71u-cli php71u-common php71u-gd php71u-mbstring php71u-mysqlnd php71u-pdo php71u-xml php71u-json
Убедитесь, что все пакеты установлены без ошибок.
-
Проверка версии PHP:
После установки пакетов проверьте текущую версию PHP на вашем сервере:php -v
Это должно показать, что на сервере установлена версия PHP 7.1.
-
Установка Zabbix:
Теперь можно безопасно установить Zabbix без конфликтов:yum -y install zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-agent
Заключение
Следуя вышеуказанным шагам, вы сможете устранить конфликты между версиями PHP и успешно установить Zabbix 3.2 на CentOS 7. Важно всегда следить за версиями зависимостей и, если необходимо, использовать определенную версию PHP, совместимую с приложением, которое вы хотите установить. Это поможет избежать дальнейших проблем и обеспечит стабильную работу вашего сервера мониторинга.