在Ubuntu 16.04,Apache上从PHP 7.2切换到7.1


21

我需要在Ubuntu 16.0.4上将其中一台VM上的PHP从7.2降级到7.1。上一次我尝试删除PHP并将其替换为其他版本时,Apache和MySQL遇到了各种各样的问题。有没有一种快速方法可以将PHP从7.2降级到7.1,而不必完全重新安装和配置Apache(本文撰写时为最新版本)以及服务器上的所有其他内容?

由于从软件供应商那里收到的不良信息(我声称他们的应用程序在PHP 7.2上运行),我不得不降级。原来它必须有7.1。

我尝试查找有关如何从7.2降级到7.1的信息,但仅获得“升级”结果。

谢谢您的帮助。


1
您是如何获得PHP 7.2的?
迈克尔·汉普顿

更新:我sudo add-apt-repository ppa:ondrej/php以前安装过PHP 7.2.x
Pegues

Answers:


35

以下是我所做的描述。我希望这些信息可以帮助其他人:

我在PHP 7.2旁边安装了PHP 7.1。我还安装了PHP 7.1所需的大多数扩展。然后我做了a2dismod php7.2a2enmod php7.1这样我可以切换到PHP 7.1,同时仍将7.2安装在服务器上。切换后,我的大多数网站都可以工作。唯一似乎无法正常运行的网站是Joomla网站。我运行的命令的完整列表如下:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.1

sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm

sudo a2dismod php7.2

sudo a2enmod php7.1

sudo service apache2 restart

1
我也处于相同的情况,但是即使禁用7.2模块后,如果键入php -v,它仍然显示php7.2。任何的想法?
khichar.anil

1
我也有同样的事情。即使我的服务器上当前启用了PHP 7.1,键入仍php -v显示PHP 7.2.2。但是,如果phpinfo()在浏览器中加载,它将显示正确的版本7.1.13。您是否尝试使用查看文件phpinfo()
Pegues

请参阅下面我的评论。它将更改默认的php路径。
khichar.anil


@CrandellWS感谢您的分享。当然有用的信息。
Pegues

19

用于在终端中显示启用的php版本php -v。我们需要设置更新cli版本的php。使用以下命令更新php cli版本

// change terminal (cli) version (7.2 to 7.1)
sudo update-alternatives --set php /usr/bin/php7.1

这成功了!
mistery_girl

12

@pegues:您上面提到的方法对于apache切换不同版本非常有效。通过运行以下命令,也会从终端更改php。实际上,您只需要将符号链接更改为所需的PHP版本。

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php

1

这是我所做的:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.1

sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php

并确认您拥有php 7.1,输入以下命令

php --ini |grep Loaded

它应该返回以下响应

Loaded Configuration File:         /etc/php/7.1/cli/php.ini

如果由于某种原因使用laravel,则将fpm.​​service修改为指向7.1版本,然后重新启动它

sudo systemctl restart php7.1-fpm.service

sudo service nginx restart
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.