我需要将我的一台虚拟机上的 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.2
,a2enmod 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