Опять коротенькая заметочка как это решать, пока все помню. Частенько возникают проблемы с зависимостями модулей между собой и какие-то модули не ставятся к другим версиям пхп после обновления пхп или даунгрейда (особенно него). Очень хорошо, когда описано из-за какого модуля проблема с зависимостями (к примеру, ругается на php-common, как было в моем случае — перед этим стоял php 8.0, а я даунгрейднул его до 7.4, так как все движки отказались работать на новом еще необкатанном пхп).
Дальнейшие действия делаем на свой страх и риск — может вообще все полететь и придется переустанавливать CentOS — это будет проще, чем решать ворох появившихся проблем. но если вам, как говорится, терять нечего, то вперед.
Соответственно, как решать — нужно удалить старый уже установленный модуль, который мешает, командой
yum remove name
, где name — имя неугодного модуля. Либо в некоторых случаях это name80, если ваша версия пхп 8.0, например — php-common80. А после этого установить уже нужную версию:
yum install name
например yum install php-common74 либо просто yum install php-common.
Если там опять проблемы с зависимостями, нужно удалить еще какой-то модуль и так далее. Пока не встанет необходимый модуль нужной версии.
Также частенько проблемы возникают при переходах с пхп5.6 на 7 версию, эти вообще меня замучали, пока наконец я не попробовал это решение — теперь счастлив.
UPD. Есть еще одна охрененная команда yum search название, которая показывает, какие пакеты с таким названием есть в используемых системой репозиториях.
Например,
Соответственно, при введении команды
yum install php80-php-opcache
мы сможем установить отдельный модуль под пхп8, а не тот, который пытается установиться по умолчанию под пхп5.6 версии.
UPD.UPD.
Если у вас проблемы с зависимостями выскакивают из-за одного конкретного пакета, можно его пропустить командой
yum update --exclude=названиепакета
например, yum update —exclude=php80-php-pecl-memcached
Сегодня я хотел установить пакет из репозиториев PECL. Вместо того, чтобы скачивать, компилировать и устанавливать непосредственно из PECL, я решил, что я пойду дальше и установлю Pear, поскольку это ресурс, которым я часто пользуюсь. Одна проблема, которая может возникнуть после установки Pear, это отсутствие зависимостей. Что следует иметь в виду, если вы используете PHP 7.0, многие расширения еще не были обновлены, чтобы приспособиться к новой версии. Если вы планируете установить определенные модули, вам может потребоваться установить дополнительную версию PHP.
Если у вас отсутствуют какие-либо дополнительные зависимости, они будут перечислены в случае сбоя компиляции, а также все рекомендуемые пакеты, такие как Как исправить проблемы установки Pear после установки из репозитория
Спасибо