安装 PHP 5.6 的 Remi repo 版本后为 Apache 安装 mod_php

安装 PHP 5.6 的 Remi repo 版本后为 Apache 安装 mod_php

我跟着本指南关于如何从我的 Amazon Linux 2 实例上的 Remi 存储库安装 PHP 5.6。现在我需要将放置在中的安装连接/opt/remi/php56/到之前使用不同版本 PHP(我已卸载)的已安装 apache。

我怎样才能做到这一点?

据我所知,我可以使用 CGI 或 来实现这一点mod_php。当我卸载另一个 php 版本时,旧的 CGI 文件夹被删除了。我似乎找不到找到或安装 的方法mod_php。当我输入:

yum install mod_php

我被提示从 Amazon repo 下载最新版本的 PHP。我遵循的指南已经安装了我想要的 PHP 版本。

我读过许多指南,它们只是告诉你要做什么:

yum install httpd php

然后只需重新启动 Apache 服务,一切就都正常了。这也是我第一次安装错误 PHP 版本时的情况。现在我必须考虑我从特定的 repo 安装特定版本的 PHP,这会修改部署位置,并且之前卸载了 PHP,这可能会删除某些文件。

答案1

运行此命令时:

yum install mod_php

它将自动默认为亚马逊存储库。

因此,如果您通过 Remi 的 repo 安装了 PHP 5.6,则应使用以下命令:

yum install php56-mod_php

请注意php56-前缀。这是让它工作的关键。这对于您将来安装的任何扩展都适用。

也就是说,您最好按照原来的方式卸载 PHP,然后执行此操作。

去使用 Remi 的 RPM 存储库配置向导位于此处.并按照这些说明进行操作。

基本上你应该指向正确的存储库,我相信你已经做到了。然后运行此命令。

sudo yum install yum-utils

然后运行此命令:

sudo yum-config-manager --enable remi-php56

完成后,您可以按照最初尝试的方式安装 PHP 5.6,无需担心:

yum install mod_php

不需要前缀!

答案2

现在,这个包似乎被称为。如果你在 的输出中php<majmin>-php寻找,你将一无所获。mod_phpyum search

为了PHP 8.2.x 的示例,启用 Remi repo 后,您可以通过安装以下内容获取 Apache 模块:

# this brings in php82-php-cli, php82-php-common, and php82-runtime
# as dependencies
sudo yum install php82

# then…
sudo yum install php82-php

请注意,这还将尝试httpd从 Remi 存储库中引入(Apache Web 服务器),这可能会与已安装的 冲突httpd,并且相对于可用的版本而言可能是过时的版本例如软件集合库

不幸的是,我没有任何关于如何解决这个问题的具体建议,IE,保留http24-httpSCL 并使用 Remi repo 中的 PHP。如果做。

答案3

我按照本指南了解如何在我的 Amazon Linux 2 实例上从 Remi 存储库安装 PHP 5.6。

请注意,这是基于EL-7 将于 6 月停产

因此,我诚挚地建议使用更新的发行版(顺便说一句,大多数发行版都不会有 PHP 5.6,因为它的 EOL 已经超过 5 年了)

为了正确配置和使用存储库,您应该遵循向导说明而不是在互联网上找到的一些随机的 HowTo。

特别是如果你需要单一版本,您不需要 php56-* 软件包(该软件包设计用于并行安装多个版本),而是需要来自remi-php56存储库。如常问问题

如果确实需要多个版本,则不能使用 mod_php,而必须使用 php-fpm(现在在 EL-8 和 EL-9 中默认使用)

如果你想使用httpd24SCL,您还需要使用 php-fpm(因为 mod_php 设计为与默认httpd)。

你可以阅读PHP 配置提示或者我的 PHP 工作站

相关内容