如何在Ubuntu云服务器上从PHP 7升级到PHP 8?

  • 发布时间:2022-02-02 19:17:19
  • 阅读次数:1727

本文以一台Ubuntu 20.04云服务器为例,介绍PHP版本从7.x升级到8.x的操作方法。升级前,强烈推荐对云服务器做整体备份。如果升级中出现问题,可以用备份恢复数据,不至于造成数据丢失和不可恢复的故障。

获取已安装组件

在升级PHP版本之前,我们需要了解已安装的PHP 7.x组件,这些组件也需要升级到相应的PHP 8.x版本。

$ dpkg -l | grep php

Output:
php-common                                  install
php7.x-cli                                  install
php7.x-curl                                 install
[...]

安装PHP 8及其组件

Ubuntu的默认软件库中可能没有PHP 8.x,因此我们需要引入第三方软件库,这里我们引入的软件库为ondrej/php。

$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install php8.0

接下来安装常用的PHP组件,可以根据第一步获取的已安装组件名进行安装,升级到相应的8.x版本。以下是一些常用的PHP组件。

$ sudo apt install php8.0-common php8.0-fpm php8.0-mysql php8.0-gmp php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-mbstring php8.0-gd php8.0-dev php8.0-imap php8.0-opcache php8.0-readline php8.0-soap php8.0-zip php8.0-intl php8.0-cli libapache2-mod-php8.0

安装完毕后,重启PHP服务。

$ sudo systemctl restart php8.0-fpm.service

验证PHP版本。

$ php -v

在Apache中启用PHP 8

Apache的a2enmod和a2dismod脚本,可用于在Apache中启用和禁用组件。执行下面命令,并把7.x替换成实际版本。

$ sudo a2dismod php7.x
$ sudo endismod php8.0
$ sudo systemctl restart apache2.service

然后我们在网站根目录下创建一个PHP测试文件,命名为phpinfo.php,内容如下。

<?php
phpinfo();

通过浏览器访问:http://[IP地址或域名]/phpinfo.php ,验证PHP是否已经升级到8.0版本。验证成功后,删除这个测试文件。

【全文完】

< 上一篇:如何在Ubuntu 18.04云服务器上安装PHP 7? 下一篇:如何在Linux云服务器上升级Python 3? >