CentOS 7 - 无法安装 PHP 7.3

CentOS 7 - Impossible to install 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

如何在 Centos 7 上启用并强制安装 PHP 7.3

I want to avoid doing it manually like: $ sudo yum install php73 php73-php-cli php73-php-fpm

如果你想要PHP 7.3你必须只启用“remi-php73”存储库(和“remi-safe”,默认启用。

根据您问题中的 yum 输出,“remi-php80”被错误启用。您可以使用

查看启用了哪些存储库
# yum repolist

有关正确的存储库配置,请参阅 Wizard instructions

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

关于mcrypt extension, I recommend you get rid of it, see About libmcrypt and php-mcrypt

而且我认为您不需要同时使用 php(mod_php 用于 Apache HTTP 服务器)和 php-fpm

关于php-oci8,我推荐你阅读Installation of Oracle extensions for PHP