如何在 Fedora 25 上将 php 7 降级到 5.6

如何在 Fedora 25 上将 php 7 降级到 5.6

我在服务器上安装了 Fedora 25,需要将 php 从 7 降级到 5.6。我已完成以下操作:

dnf remove php
dnf remove php-common
wget https://rpms.remirepo.net/fedora/remi-release-25.rpm
rpm -Uvh remi-release-25.rpm
dnf --enablerepo=remi install php56 php56-php-common php56-php-cli php56-php-mbstring php56-php-mcrypt php56-php-pear php56-php-xml php56-runtime php56-php-mysqlnd

一切正常,但现在所有内容都命名为 php56 而不是 php,因此系统找不到任何东西。例如:

# php -r "echo 'Current PHP version: ' . phpversion();"
-bash: /usr/bin/php: No such file or directory
# php56 -r "echo 'Current PHP version: ' . phpversion();"
Current PHP version: 5.6.30

我该如何采取最后一步并使一切(包括包裹)像以前一样运行?

我尝试创建一个符号链接,如下所示,但是 php 代码无法从 Web 运行,因此 apache->php 链接已损坏。

cd /usr/bin
ln -s /opt/remi/php56/root/usr/bin/php php

提前致谢。

答案1

软件集合的设计方式如下:并行安装而不改变基础系统并允许多个版本。因此故意不提供 /usr/bin/php。

你可以阅读我的 PHP 工作站

为了mod_php(apache 模块),如果你可以删除“php”(基础包)并安装“php56-php“(列表中缺少该选项),它将立即可用。如果您无法删除“php”,则可以禁用其 LoadModule 指令(/etc/httpd/conf.modules.d/15-php.conf),这样 php5 模块将被加载(/etc/httpd/conf.modules.d/10-php56-php.conf)。

为了纤维增强塑料(FastCgi 服务器),当php56-php-fpm服务运行时你只需要在 web 服务器配置 (apache、nginx 或 lighttpd) 中调整套接字的路径

为了命令行界面,可以使用 module 命令(大多数应用程序都会在 PATH 中找到 php 和相关命令)

$ module load php56
$ php -v
PHP 5.6.30 (cli) (built: Jan 20 2017 17:58:52) 

如果你确实想要一个版本,你可以创建符号链接,它会起作用:

$ ln -s /opt/remi/php56/root/usr/bin/php /usr/bin/php
$ php -v
PHP 5.6.30 (cli) (built: Jan 20 2017 17:58:52) 

相关内容