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

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

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

我必须降级,因为我从软件供应商那里得到了错误的信息,他们声称他们的应用程序可以在 PHP 7.2 上运行。结果发现它必须是 7.1。

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

感谢您的帮助。

答案1

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

我安装了 PHP 7.1 和 PHP 7.2。我还安装了 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

答案2

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

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

答案3

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

sudo rm /usr/bin/php

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

答案4

这是我做的:

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

相关内容