1

我有一个开发VM服务器(Centos7+php5.4+apache2.4)和每个用户作为它的子域,开发它的webservice。

大多数开发人员有义务在 5.4 php 版本上编写代码,默认使用 mod_php,我有指示尽快迁移到 PHP 7(最好是 7.2)。我研究并阅读到拥有两个不同版本的 PHP 的唯一选择是我必须使用 Fast-CGi 安装其中一个(我不介意在 php7 上这样做)。我担心什么时候可以选择必要的php版本会影响开发,因为环境不同(mod_php vs Fast-CGi

到目前为止,我只能安装两个 php 版本+必要的模块,没有任何问题。系统可以识别较新的 php 版本并强制选择的用户使用该版本吗?

我尝试使用 virtualmin 的过程并创建 PHP 安装包但没有成功。virtualmin 安装了许多导致系统不稳定的额外内容。

到目前为止,我已经尝试了所有这些程序:

https://www.webfoobar.com/node/45

https://www.centos.org/forums/viewtopic.php?f=47&t=62204

https://rpms.remirepo.net/wizard/(在同一系统上安装两个版本成功)

我的目标是选择每个用户(在他的子域下)应该在没有任何版本冲突的情况下工作的 php 版本,暂时维护系统(EOL)php 5.4。我读到它可能使用带有 Add-handler 的 .htaccess 配置,但系统无法识别 php7

接受任何指导。感谢阅读最好的问候

4

3 回答 3

1

在centos 7中安装其他版本的PHP


设置 Yum 存储库 首先,您需要在系统上启用 Remi 和 EPEL yum 存储库。使用以下命令在您的 CentOS 和 Red Hat 7/6 系统上安装 EPEL 存储库

使用此命令在您的系统上安装 EPEL yum 存储库

 sudo yum install epel-release

现在根据您的操作系统版本执行以下命令之一以安装 Remi 存储库。

sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

在 CentOS 上安装 PHP 7 您的系统已准备好从 yum 存储库安装 PHP。根据您的要求,使用以下命令之一在您的系统上安装 PHP 7.4 或 PHP 7.3 或 PHP 7.2。

安装 PHP 7.4

yum --enablerepo=remi-php74 install php

安装 PHP 7.3

yum --enablerepo=remi-php73 install php

安装 PHP 7.2

yum --enablerepo=remi-php72 install php


php -v

.

PHP 7.4.1 (cli) (built: Dec 17 2019 16:35:58) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

安装 PHP 模块 您可能还需要根据您的应用程序要求安装额外的 PHP 模块。下面的命令将安装一些更有用的 PHP 模块。

对于 PHP 7.4

yum --enablerepo=remi-php74 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt

对于 PHP 7.3

yum --enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt

对于 PHP 7.2

yum --enablerepo=remi-php72 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt

.
.
.

*** 注意:不要安装或使用早于 PHP7.2 的版本。

PHP 5.x 到 php-7.1 版本已过时,不得使用。请注意,列出的旧版本仅用于存档目的,不再受支持。


于 2020-11-15T02:44:31.300 回答
0

我的目标是选择每个用户应该使用的 php 版本

您必须放弃 mod_php 使用,并改用 php-fpm,它可以为每个子域设置。

我建议您阅读PHP 配置提示,其中解释了如何运行此类配置。

您当然可以使用官方 SCL(rh-php72 或 rh-php73)或“remi”存储库中的 SCL(php56 到 php80)

供您参考,FPM 现在是 CentOS 8 中的默认配置。

注意:SetHandler 可以在 .htaccess 文件中设置,但在子域 vhost 配置中设置它可能更干净。

于 2020-11-15T07:31:55.877 回答
0

Centos 8 >> install php 7.4

To install and enable the EPEL repository on CentOS 8, execute the following dnf command.

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

To confirm the presence of the EPEL repository, run the following rpm command.

 rpm -qa | grep epel

Next, run the command below to add the Remi repository.

 dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Once again, to verify the existence of the Remi repository, run the command.

 rpm -qa | grep remi

Step 2: Install PHP 7.4 on CentOS 8 Upon successful addition of EPEL and Remi repositories, execute the command below to get a list of available PHP module streams.

 dnf module list php

List PHP Modules From the output above, remi-7.4 is the latest PHP stream, and therefore we are going to enable the module stream as shown below.

dnf module enable php:remi-7.4

Enable PHP Remi Stream Once the PHP remi-7.4 module has been enabled, you can then proceed and install PHP using the command below. This will also install a host of other packages such as Apache and Nginx modules.

 dnf install php php-cli php-common

#Install PHP on CentOS 8 To check the version of PHP installed, run the command.

 php -v

Verify PHP Installed Version From the output, we can clearly see that we have installed PHP version 7.4

于 2021-01-05T13:40:52.493 回答