如何在Ubuntu服务器上将PHP 8.0设置为默认版本

4
由于某些原因,我必须在同一台Ubuntu服务器上安装PHP 7.4和PHP 8.0。默认情况下,当我安装PHP 7.4时,使用命令php -v显示它是默认版本。
但是现在我想使用PHP 8.0运行composer,在服务器上安装我的应用程序之一。服务器现在找不到任何PHP版本,因此我无法使用composer安装我的应用程序。 我如何安装PHP 8.0 我使用了sudo add-apt-repository ppa:ondrej/php这个存储库来安装最新的8.0版本,我可以让它与caddy服务器一起工作,甚至测试环境中的网站也运行良好。https://caddyt.tamilchatz.com <<您可以查看此URL以确保我的8.0在服务器上运行良好。
无论如何,我已从服务器中删除了PHP 7.4,以确保它是否帮助我设置8.0为默认值,但是我无法使其正常工作。
php --version

enter image description here

帮我将PHP 8.0设置为服务器上的默认版本。谢谢。

我已经安装了它,看这个截图,我试着移除php,只发现我已经安装了这些软件包。https://i.ibb.co/TcvHv77/Snap-Shot-01971.png - Joseph Miller
输入 php,然后按两次 Tab 键。是否会出现其他命令版本?有时它会安装为 php56 或 php7,并且您需要为其设置别名。 - aynber
话虽如此,你可能在superuser.com或https://askubuntu.com上更有好运,因为它们更专注于Linux和软件仓库的问题。 - aynber
这是我在输入'php'并按下Tab键时得到的全部内容。https://i.ibb.co/9NHFnnN/Snap-Shot-01972.png - Joseph Miller
两个截图互相矛盾。就好像那些软件包被损坏了,没有完全安装。或者可能是您的根账户的PATH变量设置得非常奇怪... - arkascha
显示剩余2条评论
2个回答

4

更新CLI版本:

sudo update-alternatives --config php

对于所有Ubuntu版本(16.04以后的18.04和20.04),此命令都应该有效。

以下是您应该看到的响应内容:

有4个选择可用作 alternative php (提供 /usr/bin/php)。

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

按下 以保留当前选择[*],或输入选择编号并按回车键更改版本:

要在服务器/浏览器输出中更新版本(您可以使用所有版本,只需根据要求更改版本号):

将 PHP 8.0 降级为 PHP 7.4

sudo a2dismod php8.0
sudo a2enmod php7.4
sudo service apache2 restart
sudo update-alternatives --config php
sudo update-alternatives --config phar
sudo update-alternatives --config phar.phar
sudo service apache2 restart

将 PHP 7.4 升级至 PHP 8.0

sudo a2dismod php7.4
sudo a2enmod php8.0
sudo service apache2 restart
sudo update-alternatives --config php
sudo update-alternatives --config phar
sudo update-alternatives --config phar.phar
sudo service apache2 restart

-1

试试这个:

sudo update-alternatives --set php /usr/bin/php7.4

当然可以,但首先需要确保可执行文件存在... - arkascha
这仅适用于shell调用,不会影响Apache模块版本。 - Marcin Orlowski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接