CentOS 7 — Невозможно установить PHP 7.3

#php #centos #centos7 #yum #php-7.3

#php #centos #centos7 #вкуснятина #php-7.3

Вопрос:

Я хочу включить php73 в качестве версии по умолчанию и установить все связанные с ним пакеты. Итак, я сделал:

 $ sudo yum-config-manager --enable remi-php73
  

И затем:

 $ sudo yum install php php-pecl-mcrypt php-cli php-gd php-curl php-mysqlnd php-ldap php-zip php-fileinfo php-common php-xml php-fpm php-mbstring php-bcmath php-soap php-oci8
  

Сразу после этого я вижу, что он хочет установить PHP 8.0 (remi-php80, который нарушает зависимости моего проекта):

 Dependencies Resolved

======================================================================================================
 Package              Arch             Version                             Repository            Size
======================================================================================================
Installing:
 php                  x86_64           8.0.0~beta4-2.el7.remi              remi-php80           3.4 M
Installing for dependencies:
 php-cli              x86_64           8.0.0~beta4-2.el7.remi              remi-php80           5.3 M
 php-common           x86_64           8.0.0~beta4-2.el7.remi              remi-php80           1.2 M
 php-sodium           x86_64           8.0.0~beta4-2.el7.remi              remi-php80            74 k
  

Как я могу включить и принудительно установить PHP 7.3 на Centos 7?

Я хочу избежать выполнения этого вручную, например: $ sudo yum install php73 php73-php-cli php73-php-fpm

Комментарии:

1. Один из шагов в мастере настройки — проверить, включены ли у вас приоритеты , и если да, «убедитесь, что remi-php73 имеет более высокий приоритет (более низкое значение), чем base и обновления». Не уверен в вашей установке, но, возможно, проверьте это?

2. На CentOS 8 и CentOS Stream просто переключите ветку потока модуля, как описано здесь: server-world.info/en/note?os=CentOS_8amp;p=phpamp;f=2 В CentOS 7 также должны быть официальные версии PHP в виде SCL, но я их не использую.

Ответ №1:

Если вы хотите использовать PHP 7.3, вы должны включить только репозиторий «remi-php73» (и «remi-safe«, который включен по умолчанию).

Согласно выводам yum в вашем вопросе «remi-php80» включен неправильно. Вы можете проверить, какие репозитории включены с помощью

 # yum repolist
  

Для правильной настройки репозитория см. Инструкции мастера

 # yum-config-manager --disable 'remi-php*'
# yum-config-manager --enable remi-php73
# yum-config-manager --enable remi-safe
  

Что касается расширения mcrypt, я рекомендую вам избавиться от него, см. О libmcrypt и php-mcrypt

И я думаю, что вам не нужны оба php (mod_php для HTTP-сервера Apache) и php-fpm

А для php-oci8 я рекомендую вам ознакомиться с Установкой расширений Oracle для PHP

Комментарии:

1. Вау, yum repolist только что прояснил ситуацию. Почему это не в каждом руководстве? Были включены remi-php73 и remi-php80 , затем я отключил последний ( yum-config-manager --disable remi-php80 ), и все работало нормально.

2. А также спасибо за хитрость между php и php-fpm , я не знал об этом. Мне нужен только php-fpm для использования с nginx . Что касается php-oci8 , я в порядке.