Ubuntu 上的 PHP 切换版本

Sheeraz Gul 2022年5月13日
Ubuntu 上的 PHP 切换版本

不同的任务可能需要运行多个版本的 PHP。

你可能需要通过在同一服务器上运行两个站点或使用过时的方法测试旧版本的代码来切换 PHP 版本。

我们可以使用命令行在 Ubuntu 上切换 PHP 版本,只需几个命令。

本教程演示了在 Ubuntu 上切换 PHP 版本的完整过程。

如何在 Ubuntu 上切换 PHP 版本

首先,让我们检查一下我们系统上安装的 PHP 版本。打开 Ubuntu bash 并插入以下命令:

$ php -v

输出将显示我们系统上使用的 PHP 版本。

输出:

PHP 7.4.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

输出显示我们的系统上只安装了 PHP 7.4.3。先安装另一个版本的 PHP,然后尝试切换。

插入以下命令来安装 PHP 5.6:

#add php repository; this repository might not install earlier or later versions of PHP.
$ sudo add-apt-repository -y ppa:ondrej/php
#update sudo
$ sudo apt update
#install php 5.6
$ sudo apt install php5.6

每个命令的输出不应检索错误。否则,将不会安装 php 5.6。

如果再次检查 PHP 版本,输出仍然是相同的。

要将 PHP 版本从 7.4.3 切换到 5.6,请在 bash 中插入以下命令。

要禁用 PHP 7.4.3:

$ sudo a2dismod php7.4

输出:

Module php7.4 already disabled

如果输出与上述不同,你可能需要安装 apache mod 并运行上述命令来禁用 PHP 7.4。运行此命令以安装 apache mod。

$ sudo apt-get install libapache2-mod-php7.4

禁用 PHP 7.4 后,运行以下命令启用 PHP 5.6:

$ sudo a2enmod php5.6

输出:

Considering dependency mpm_prefork for php5.6:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php5.6:
Module php5.6 already enabled

你可能需要在运行这些命令之间重新启动 apache。

$ sudo service apache2 restart

PHP 从 7.4 切换到 5.6。如果你需要将 PHP 5.6 设置为默认版本,请使用以下命令。

#This command will directly set PHP 5.6 as default. Manual Switching
$ sudo update-alternatives --set php /usr/bin/php5.6
#This command will give you the option to select a default PHP version. Interactive Switching
$ sudo update-alternatives --config php

输出:

There are 3 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
  0            /usr/bin/php7.4   74        auto mode
* 1            /usr/bin/php5.6   56        manual mode
  2            /usr/bin/php7.0   70        manual mode
  3            /usr/bin/php7.4   74        manual mode

Press <enter> to keep the current choice[*], or type selection number:

你只需输入相应的数字即可选择任何版本。选择的版本将被设置为默认值。

你还需要将其他 PHP 扩展设置为默认值。例如:

$ sudo update-alternatives --config phar

该命令还将为你提供 phar 版本列表,你可以像上面一样选择默认值。如果你在完成设置默认值后重新启动 apache,将会有所帮助。

$ sudo service apache2 restart

要切换回 PHP 7.4,你必须反之运行这些命令。

$ sudo a2dismod php5.6
$ sudo a2enmod php7.4
$ sudo service apache2 restart

输出将显示 PHP 5.6 已禁用,而 7.4 已启用。如果需要,重新启动 apache。

作者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

相关文章 - PHP Version