【问题标题】:Centos httpd php version is different from the php version command linecentos httpd php版本与php版本命令行不同
【发布时间】:2021-01-23 12:09:50
【问题描述】:

我在 Centos7 上启用了多个带有 remi repo 的 php 版本,例如:

yum-config-manager --enable remi-php56
yum-config-manager --enable remi-php71
yum-config-manager --enable remi-php72
yum-config-manager --enable remi-php73

然后安装包:

yum install php{version}
yum install php{version}-php-{extension}

我已经设置了 PHP5.6 之类的:

sudo update-alternatives --set php /usr/bin/php56

当我制作 php-v 时:

PHP 5.6.40 (cli) (built: Sep 29 2020 11:38:05)

但是当我要访问我的 phpinfo() 文件时,我会得到 PHP 版本 7.3.23

在 centos/RH 中我们无法制作:

sudo a2enmod php56 

所以我很困惑,我不知道为什么 httpd 解释版本 7.3.23

如何为 httpd 设置 PHP 特定版本?

【问题讨论】:

  • 危险:PHP 5.x 已超过生命周期,不受支持,并且不接收安全更新。 不要在 2018 年 12 月 31 日之后使用它。 (也不要在 2019 年 1 月 10 日之后使用 PHP 7.0 或在 2019 年 12 月 1 日之后使用 7.1)
  • 尝试安装CWP。它允许修改 apache 的 PHP 版本和更多配置,而不会伤脑筋。除非你想自己玩 PHP fpm 和 fast-CGI 处理程序。

标签: php linux centos redhat


【解决方案1】:

你被2套包弄糊涂了:

  • 基础包 (php-*),每个版本 1 个存储库 (remi-php##),您可以在其中安装单个(和默认)版本
  • SCL 包 (php##-php-*) 设计用于并行安装多个版本

repository FAQ.

如果你想安装和运行多个版本,你必须使用 SCL 并切换到 FPM(而不是 mod_php,这是 CentOS 8 上的默认方式)。

简而言之,将每个 FPM 实例配置为在特定套接字(网络端口或 UDS)上运行,并将 Apache 配置为使用 SetHandler 指令为每个虚拟主机、项目、目录...使用正确的版本。

我建议你阅读PHP Configuration Tips

您也可以阅读My PHP Workstation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 2010-12-09
    • 1970-01-01
    • 2014-07-17
    相关资源
    最近更新 更多