Fedora 上同时使用 php7 和 php5

Posted

技术标签:

【中文标题】Fedora 上同时使用 php7 和 php5【英文标题】:Php7 and php5 on fedora at the same time 【发布时间】:2016-06-20 04:37:18 【问题描述】:

如何在一个 Fedora 系统上设置 php5 和 PHP7?

据我所知,fedora 中的 PHP 不是一个目录,而是在 OS 中传播的。

在 Windows 系统上,PHP 是一个文件夹,所以当我需要特定版本的 PHP 时,我可以重命名它。费多拉呢?

也许有一些有用的链接,但我没有找到。

另外,它会是php5+apache(httpd)php7+nginx,但我认为现在不重要。

【问题讨论】:

通常当您想在一个系统上维护两个单独的 php 版本时,您可以通过以下两种方式之一来实现: 1. 您将一个版本用作 http 服务器模块,另一个用作 cgi 或 fastcgi 应用程序.这样您就可以使用标准路径。或者,您将每个版本打包在一个单独的文件夹中,制作单独的配置文件(调整路径)并通过简单地在 CLI 或 http 服务器配置中指定配置文件位置来在版本之间切换。 How can one run multiple versions of PHP 5.x on a development LAMP server?的可能重复 【参考方案1】:

您可以根据需要安装尽可能多的 PHP 版本。只需下载源代码并将您想要的任何版本编译到单独的目录中。

./configure --prefix='/usr/local/php-7.0.4'
make
make install

使用 fpm,您可以为每个版本的 PHP 设置不同的套接字或 TCP 端口,它们可以在您的 Web 服务器配置中使用(nginx fastcgi 或类似 mod_fastcgi for apache)

【讨论】:

【参考方案2】:

我建议你安装 remi 存储库。我假设你使用 Fedora 23。

sudo dnf install http://rpms.remirepo.net/fedora/remi-release-23.rpm

安装 remi 存储库后,您必须编辑 /etc/yum.repos.d/remi.repo 文件并启用它。 最后你可以安装各种版本的php。例如:

sudo dnf install php70-php php56-php

您可以将它们用作php70php56 以及您要运行的选项或php 文件。

【讨论】:

您可以同时安装 php70-php php56-php(即 mod_php),但只能安装一次。最好使用 php70-php-fpm 和 php56-php-fpm,因为您可以运行 2 个服务,每个版本 1 个。 我安装了我的没有版本号,比如install php,弹出的是版本7 我有 F29,我安装了 repo,但它没有 php56 only php73 的链接 @ateebahmed 你看到rpms.remirepo.net/wizard 就像提到的remi-collet 一样吗? 是的,我一直跟着我,直到我安装了 repo,因为它没有 5 的 url,它给出 404,已经在其他地方检查过这个问题,现在他们似乎不支持 5,无论如何,谢谢我我现在正在使用 laravel,CI 需要它。希望不会破坏任何地方【参考方案3】:

是的 Software Collections 是当前并行安装各种 PHP 版本的最佳解决方案。

由于 Fedora 官方仓库还不允许使用 SCL,您必须使用“remi”仓库。

请参阅http://rpms.remirepo.net/wizard/ 上的配置向导

另见

http://blog.remirepo.net/post/2015/03/25/PHP-7.0-as-Software-Collection http://blog.remirepo.net/post/2014/03/28/PHP-FPM-and-HTTPD-2.4-improvement

【讨论】:

【参考方案4】:

按照 Remi RPM 存储库博客中的说明操作对我有用。我现在可以运行 php55 或 php70。 https://blog.remirepo.net/post/2016/04/16/My-PHP-Workstation

切换到 php55 的几件事:

 module unload php70
 module load php55

 yum install php55-php-fpm

 systemctl start php55-php-fpm
 systemctl enable php55-php-fpm

现在php --version 在命令行中显示 PHP 5.5,在浏览器中你会看到 phpinfo() 显示 PHP 5.5。

【讨论】:

这个答案除了选择的答案之外非常有帮助,我实际上也使用了这里的细节,谢谢!

以上是关于Fedora 上同时使用 php7 和 php5的主要内容,如果未能解决你的问题,请参考以下文章

Fedora25 Php 5.6 gd soap Mysql 5.x 和 PhpMyAdmin

PHP7.3新特性

Fedora 上如何安装 gitea

Apache2.4 - PHP 5.6 和 PHP7.1 同时运行

Apache2.4 - PHP 5.6和PHP7.1同时运行

linux:安装php7.x