如何在 Ubuntu 22.04|20.04|18.04 上安装 PHP 8.1如何在 Ubuntu 22.04|20.04|18.04 上安装 PHP 8.1如何在 Ubuntu 22.04|20.04|18.04 上安装 PHP 8.1如何在 Ubuntu 22.04|20.04|18.04 上安装 PHP 8.1
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 22.04|20.04|18.04 上安装 PHP 8.1

发表 admin at 2025年2月28日
类别
  • 未分类
标签
コアサーバーV2プランご契約でドメイン更新費用が永久無料

PHP 是一种广泛使用的脚本和 Web 开发编程语言,最初由丹麦裔加拿大程序员 Rasmus Lerdorf 于 1994 年创建。如果安装了 PHP 运行环境,PHP 脚本可以在 Linux、Windows 和 macOS 上执行。 PHP 8.1 的正式发布日期是 2021 年 11 月 25 日。在此版本中,相对于其前身 (PHP 8.0),有许多新功能、改进和弃用。在本文中,我们讨论如何在 Ubuntu 22.04|20.04 上安装 PHP 8.1 |18.04。 Ubuntu 操作系统可以是桌面版或服务器版。

以下是 PHP 8.1 版本中出现的新关键功能的总结列表:

  • 只读属性 – 类属性可以标记为只读,因此只能写入一次
  • 支持 DNS-over-HTTPS (DoH)
  • AVIF 图像格式支持 - PHP 8.1 的图像处理和 GD 扩展增加了对 AVIF 图像的支持。
  • 从不返回类型 – PHP 8.1 中添加了名为 never 的新返回类型提示
  • 增加了对 Fibers 的支持 – 管理并行性的低级机制
  • PHP 8.1 添加 array_is_list 作为内置函数
  • 使用 CURLStringFile 进行文件上传 – 在 PHP 8.1 中,PHP Curl 扩展现在支持带有文件上传的 HTTP(S) 请求
  • 枚举 – 它们现已添加到 PHP 8.1 中
  • 新的 fdatasync() 和 fsync() 函数
  • Sodium XChaCha20 的新功能
  • 添加纯交叉类型功能
  • 显式八进制数字表示法
  • 定义最终类常量
  • MurmurHash3 哈希算法支持
  • 交叉口类型
  • xxHash 哈希算法支持
  • 有关详细信息,请阅读官方 PHP 8.1 说明

第1步:更新Ubuntu系统

让我们开始在 Ubuntu 22.04|20.04|18.04 上安装 PHP 8.1,确保系统已更新和升级。

sudo apt update && sudo apt -y upgrade

成功升级操作系统后,我建议您重新启动系统:

sudo systemctl reboot

第 2 步:添加 Ondřej Surý PPA 存储库

Ubuntu 22.04 在操作系统上游存储库中具有 PHP 8.1 软件包及其扩展。因此,Ubuntu 22.04 上不需要 Sury 存储库。

对于 Ubuntu 20.04/18.04,Ondřej Surý PPA 存储库中提供了 PHP 8.1 二进制包。必须在系统上手动添加此存储库。

添加 Ondřej Surý PPA 存储库

sudo apt update
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y
sudo add-apt-repository ppa:ondrej/php

您唯一的输入是点击 并添加存储库:

Debian oldstable and stable packages are provided as well: https://deb.sury.org/#debian-dpa

You can get more information about the packages at https://deb.sury.org

IMPORTANT: The <foo>-backports is now required on older Ubuntu releases.

BUGS&FEATURES: This PPA now has a issue tracker:
https://deb.sury.org/#bug-reporting

CAVEATS:
1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman
2. If you are using apache2, you are advised to add ppa:ondrej/apache2
3. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainline
   or ppa:ondrej/nginx

PLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/

WARNING: add-apt-repository is broken with non-UTF-8 locales, see
https://github.com/oerdnj/deb.sury.org/issues/56 for workaround:

# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
 More info: https://launchpad.net/~ondrej/+archive/ubuntu/php
Press [ENTER] to continue or Ctrl-c to cancel adding it. <Press-Enter-Key>

从 Ubuntu 系统上配置的源中提取最新的软件包列表:

$ sudo apt update
Hit:1 http://ppa.launchpad.net/ondrej/php/ubuntu focal InRelease
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://nova.clouds.archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://nova.clouds.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:5 http://nova.clouds.archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
109 packages can be upgraded. Run 'apt list --upgradable' to see them.

步骤 3:安装 PHP 8.1

我们现在应该能够在 Ubuntu 22.04|20.04|18.04 Linux 机器上安装 PHP 8.1。要运行的命令共享如下:

sudo apt install php8.1

按y键开始安装:

The following additional packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php8.1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjansson4 liblua5.2-0 php-common php8.1-cli php8.1-common
  php8.1-opcache php8.1-readline ssl-cert
Suggested packages:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser php-pear openssl-blacklist
The following NEW packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php8.1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libjansson4 liblua5.2-0 php-common php8.1 php8.1-cli
  php8.1-common php8.1-opcache php8.1-readline ssl-cert
0 upgraded, 18 newly installed, 0 to remove and 109 not upgraded.
Need to get 6589 kB of archives.
After this operation, 29.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

使用以下命令检查当前活动的 PHP 版本:

$ php --version
PHP 8.1.0 (cli) (built: Nov 23 2021 18:56:11) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies

步骤 4:安装 PHP 8.1 扩展

在 Ubuntu 22.04|20.04|18.04 上安装 PHP 8.1 扩展的命令是:

sudo apt install php8.1-<extension>

在哪里

  • 将替换为要安装的 PHP 扩展的名称。例如,mysql、zip、xml ETC。

一些可用的扩展如下所示:

$ sudo apt install php8.1-<TAB>
php8.1-amqp            php8.1-decimal         php8.1-grpc            php8.1-maxminddb       php8.1-opcache         php8.1-redis           php8.1-tidy            php8.1-yac
php8.1-apcu            php8.1-dev             php8.1-igbinary        php8.1-mbstring        php8.1-pcov            php8.1-rrd             php8.1-uopz            php8.1-yaml
php8.1-ast             php8.1-ds              php8.1-imagick         php8.1-mcrypt          php8.1-pgsql           php8.1-smbclient       php8.1-uploadprogress  php8.1-zip
php8.1-bcmath          php8.1-enchant         php8.1-imap            php8.1-memcache        php8.1-phpdbg          php8.1-snmp            php8.1-uuid            php8.1-zmq
php8.1-bz2             php8.1-fpm             php8.1-inotify         php8.1-memcached       php8.1-protobuf        php8.1-soap            php8.1-vips            php8.1-zstd
php8.1-cgi             php8.1-gd              php8.1-interbase       php8.1-mongodb         php8.1-ps              php8.1-solr            php8.1-xdebug
php8.1-cli             php8.1-gearman         php8.1-intl            php8.1-msgpack         php8.1-pspell          php8.1-sqlite3         php8.1-xhprof
php8.1-common          php8.1-gmagick         php8.1-ldap            php8.1-mysql           php8.1-psr             php8.1-ssh2            php8.1-xml
php8.1-curl            php8.1-gmp             php8.1-lz4             php8.1-oauth           php8.1-raphf           php8.1-swoole          php8.1-xmlrpc
php8.1-dba             php8.1-gnupg           php8.1-mailparse       php8.1-odbc            php8.1-readline        php8.1-sybase          php8.1-xsl

安装常用 PHP 扩展的示例:

sudo apt install php8.1-{bcmath,xml,fpm,mysql,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi}

要列出所有 PHP 8.1 加载的模块,请运行以下命令:

$ php --modules
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pgsql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

如果将 PHP 与 Nginx Web 浏览器一起使用,请确保 php-fpm 服务已启动并正在运行:

$ systemctl status php*-fpm.service
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-11-20 19:40:34 UTC; 59s ago
       Docs: man:php-fpm8.1(8)
    Process: 25095 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.1/fpm/pool.d/www.conf 81 (code=exited, status=0/SUCCESS)
   Main PID: 25091 (php-fpm8.1)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2344)
     Memory: 10.9M
     CGroup: /system.slice/php8.1-fpm.service
             ├─25091 php-fpm: master process (/etc/php/8.1/fpm/php-fpm.conf)
             ├─25093 php-fpm: pool www
             └─25094 php-fpm: pool www

Nov 20 19:40:34 ubuntu-01 systemd[1]: Starting The PHP 8.1 FastCGI Process Manager...
Nov 20 19:40:34 ubuntu-01 php-fpm8.1[25091]: [20-Nov-2021 19:40:34] NOTICE: PHP message: PHP Warning:  PHP Startup: ^(text/|application/xhtml\+xml) (offset=0): unrecognised compile-time optio>
Nov 20 19:40:34 ubuntu-01 systemd[1]: Started The PHP 8.1 FastCGI Process Manager.

PHP-FPM默认配置文件设置监听socket、用户等信息位于:

$ ls  -1 /etc/php/8.1/fpm/
conf.d
php-fpm.conf
php.ini
pool.d

$ sudo vim /etc/php/8.1/fpm/pool.d/www.conf
$ sudo vim /etc/php/8.1/fpm/php-fpm.conf

在本教程中,我们已经能够在 Ubuntu 22.04|20.04|18.04 桌面/服务器操作系统上安装 PHP 8.1。总体而言,PHP 8.1 看起来很有前途,具有更好的安全性、性能以及巨大的改进和新功能,使开发人员能够轻松而喜爱地创建应用程序。我们希望本指南对您有很大帮助。如果您需要任何帮助,请随时发表评论。

其他系统上的 PHP 8.1 安装:

  • 在 Debian 上安装 PHP 8.1
  • 在 Rocky Linux 8|AlmaLinux 8|CentOS 8 上安装 PHP 8.1
©2015-2025 Norria support@alaica.com