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
您可以将它们用作php70
和php56
以及您要运行的选项或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
Apache2.4 - PHP 5.6 和 PHP7.1 同时运行