PHP 8.3 是 PHP 语言的一次重大更新,带来了一系列新功能和改进。本文将以 Ubuntu 22.04 LTS 作为示例,详细介绍在 Ubuntu 中安装 PHP 8.3 的步骤,以便开发人员能够充分利用这些最新功能。
PHP 8.3 引入了一系列令人振奋的新功能,内容包括:
-
类型化类常量: PHP 8.3 为类常量引入了显式类型,确保更严格的类型执行和错误检测。
-
动态类常量提取: 这一功能简化了对类常量的提取,使代码更易读且易于维护。
-
新的
#[\\Override]
属性: 此属性确保具有相同名称的方法存在于父类或接口中,提高了代码的可靠性,同时简化了重构工作。 -
只读属性的深度克隆: PHP 8.3 允许在
__clone
方法中对只读属性进行一次修改,实现了只读属性的深度克隆。 -
新的
json_validate()
函数: 该函数提供了一种更高效的方法来检查字符串是否为有效的 JSON。 -
新的
Randomizer::getBytesFromString()
方法: 扩展了 PHP 8.2 的 Random 扩展,该方法允许生成特定字节数的随机字符串,非常适用于创建类似域名的随机标识符。 -
其他新的方法和函数: PHP 8.3 引入了一系列新的方法和函数,例如
DOMElement::getAttributeNames()
、IntlCalendar::setDate()
和ldap_connect_wallet()
等。
PHP 8.3 不仅带来了引人注目的新功能,还通过性能提升、错误修复和整体清理,进一步巩固了 PHP 作为强大高效的 Web 开发语言的地位。这些更新不仅为开发人员提供了更多的工具和选择,同时有助于提高代码的质量和可维护性。
在接下来的步骤中,我们将详细介绍如何在 Ubuntu 中安装 PHP 8.3,以确保开发人员能够充分利用这些引人瞩目的新特性。
在 Ubuntu 中导入 PHP 8.3 PPA {#0-%E5%9C%A8-ubuntu-%E4%B8%AD%E5%AF%BC%E5%85%A5-php-83-ppa}
1在安装 PHP 之前,请先对 Ubuntu 系统进行更新。这样可以提高系统安全性,并最大限度确保对新软件的兼容性。使用以下命令来刷新软件包列表并进行升级:
sudo apt update && sudo apt upgrade
2接下来,安装 PHP PPA 所需的初始包。在正式导入 PHP 8.3 PPA 之前,请为你的系统安装必要的软件包。这些软件包有助于安全地处理其他存储库,包括证书验证和软件属性管理等。
sudo apt install ca-certificates apt-transport-https software-properties-common lsb-release -y
3为了使用最新的 PHP 版本,我们会将 Ondřej Surý 的 PHP PPA 导入到 Ubuntu 系统中。该存储库提供了比 Ubuntu 官方源更及时的更新。
sudo add-apt-repository ppa:ondrej/php -y
在 Ubuntu 中导入 Ondřej Surý 的 PHP PPA
Ondřej Surý 的 PHP PPA 为 Ubuntu 22.04 LTS 和 Ubuntu 20.04 LTS 提供了可共存的 PHP 版本,包括 PHP 5.6、PHP 7.x、PHP 8.x 以及大多数扩展。
4导入了这个 PPA 后,请务必更新你的软件包缓存,以确保系统能够识别这个新的源。
sudo apt update && sudo apt upgrade
推荐阅读:PPA 完全指南,如何在 Ubuntu 系统中使用 PPA
在 Ubuntu 中安装 PHP 8.3 {#1-%E5%9C%A8-ubuntu-%E4%B8%AD%E5%AE%89%E8%A3%85-php-83}
选项 1:将 PHP 安装为 Apache 模块 {#2-%E9%80%89%E9%A1%B9-1%EF%BC%9A%E5%B0%86-php-%E5%AE%89%E8%A3%85%E4%B8%BA-apache-%E6%A8%A1%E5%9D%97}
在配置 Apache HTTP 服务器时,将 PHP 安装为模块可以优化服务器功能。这样可以通过直接嵌入 PHP 解释器来提高性能。如果你选择在 Apache 上安装 PHP 8.3 并将其作为模块配置,请按照以下步骤进行操作:
1安装 PHP 8.3 以及 Apache 模块:
sudo apt install php8.3 libapache2-mod-php8.3
2安装完成后,重新启动 Apache 以应用新的 PHP 8.3 模块:
sudo systemctl restart apache2
通过这些步骤,能够将 PHP 8.3 作为 Apache 模块配置,从而优化了服务器功能。这种配置能让 Apache 直接处理 PHP 请求,提高了处理动态内容的效率。
选项 2:在 Ubuntu 中安装 Apache 并配置 PHP-FPM {#3-%E9%80%89%E9%A1%B9-2%EF%BC%9A%E5%9C%A8-ubuntu-%E4%B8%AD%E5%AE%89%E8%A3%85-apache-%E5%B9%B6%E9%85%8D%E7%BD%AE-php-fpm}
对于高流量的网站,PHP-FPM 是一个提升性能的良好选择。以下是在 Apache 上安装 PHP 8.3 并启用 PHP-FPM 的详细步骤:
1安装 PHP 8.3 和 PHP-FPM:
sudo apt install php8.3-fpm libapache2-mod-fcgid
2激活 PHP-FPM 模块和配置:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.3-fpm
3重新启动 Apache 以应用更改:
sudo systemctl restart apache2
通过这些步骤,可以将 PHP 8.3 与 PHP-FPM 整合到 Apache 中,提高了服务器在处理高流量时的性能表现。这种配置允许 Apache 与 PHP 进程池直接通信,有效地处理更多并发请求。
选择三:为 Nginx 安装 PHP 8.3 支持 {#4-%E9%80%89%E6%8B%A9%E4%B8%89%EF%BC%9A%E4%B8%BA-nginx-%E5%AE%89%E8%A3%85-php-83-%E6%94%AF%E6%8C%81}
Nginx 利用 PHP-FPM 来处理 PHP 文件。在 Ubuntu 上,你可以通过以下步骤安装 PHP 8.3 和 PHP-FPM 以支持 Nginx:
1安装 PHP 8.3 和 PHP-FPM:
sudo apt install php8.3 php8.3-fpm php8.3-cli
安装 PHP 8.3 和 PHP-FPM
2安装完成后,启动 PHP-FPM 8.3 服务,并确保在系统启动时自动启动:
sudo systemctl enable php8.3-fpm --now
3配置 Nginx 以使用 PHP-FPM 处理 PHP 文件。打开 Nginx 配置文件,在Server
配置块中添加或修改:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
4验证 Nginx 配置文件:
sudo nginx -t
5重新启动 Nginx 以应用更改:
sudo systemctl restart nginx
通过这些步骤,安装了 PHP 8.3 和 PHP-FPM,并配置了 Nginx 以正确处理 PHP 文件。这种配置允许 Nginx 通过 FastCGI 与 PHP-FPM 通信,以高效地处理动态内容。
6(可选)要验证已安装的 PHP 版本,请使用以下命令:
php --version
验证 PHP 版本
在 Ubuntu 中安装 PHP 8.3 扩展 {#5-%E5%9C%A8-ubuntu-%E4%B8%AD%E5%AE%89%E8%A3%85-php-83-%E6%89%A9%E5%B1%95}
安装 PHP 8.3 扩展 {#6-%E5%AE%89%E8%A3%85-php-83-%E6%89%A9%E5%B1%95}
在 Ubuntu 22.04 LTS 系统中,可以选择安装适合项你目需求的扩展,来定制 PHP 8.3 以提升性能和安全性。
使用下面的命令示例,安装所选扩展:
sudo apt install php8.3-{cli,fpm,curl,mysql,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,readline,memcached,redis,mbstring,apcu,xml,dom,memcache}
安装 PHP 8.3 扩展
通过上述命令,可以轻松安装所需的 PHP 8.3 扩展,确保项目所需功能和性能。请根据项目需要,自行选择并替换命令中的扩展。
了解 PHP 8.3 常见扩展 {#7-%E4%BA%86%E8%A7%A3-php-83-%E5%B8%B8%E8%A7%81%E6%89%A9%E5%B1%95}
-
php-cli
: 用于在命令行中运行 PHP 脚本。 -
php-fpm
: FastCGI 进程管理器,优化请求处理。 -
php-curl
: 用于简化服务器通信的模块。 -
php-mysql
: 提供与数据库交互的 MySQL 原生驱动程序。 -
php-gd
: 图像处理库,支持各种图像操作。 -
php-opcache
: 缓存预编译的脚本字节码,从而提升 PHP 性能。 -
php-zip
: 管理 zip 文件操作,方便文件的压缩和解压。 -
php-intl
: 支持国际字符集,提供对多语言环境的本地化支持。 -
php-common
: 提供多个 PHP 模块通用的共享文件和配置。 -
php-bcmath
: 用于处理精确的浮点数运算。 -
php-imagick
: 利用 ImageMagick 进行高级图像处理。 -
php-xmlrpc
: 提供 XML-RPC 服务器和客户端功能,支持远程过程调用。 -
php-readline
: 简化交互式终端输入,提供更好的命令行体验。 -
php-memcached
和php-redis
: 通过缓存增强性能,分别支持 Memcached 和 Redis 缓存。 -
php-mbstring
: 管理多字节字符编码,对多语言文本处理非常有用。 -
php-apcu
: 用于 PHP 应用性能的用户缓存。 -
php-xml
和php-dom
: 提供对 XML 解析和 DOM 操作的支持。
若要了解更多可用的模块,请使用以下搜索命令:
sudo apt search php8.3-
验证已安装的 PHP 8.3 模块 {#8-%E9%AA%8C%E8%AF%81%E5%B7%B2%E5%AE%89%E8%A3%85%E7%9A%84-php-83-%E6%A8%A1%E5%9D%97}
为确保系统效率,建议定期检查和管理已加载的 PHP 模块。请使用以下命令列出已加载的 PHP 模块:
php8.3 -m
验证已安装的 PHP 8.3 模块
这将显示当前 PHP 8.3 版本中已启用的所有模块列表。通过检查这些模块,可以确保项目所需的功能和性能得到正确支持。如果需要添加或删除特定模块,可以通过安装或卸载相应的 PHP 扩展来进行调整。
安装 PHP 8.3 开发工具 {#9-%E5%AE%89%E8%A3%85-php-83-%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7}
为了进行高级 PHP 开发和调试,请执行以下命令安装必要的工具:
sudo apt install php8.3-xdebug php8.3-pcov php8.3-dev
执行上述命令,将在 PHP 8.3 环境添加 Xdebug 和 Pcov 这两个强大的调试工具,并同时安装 PHP 8.3 的开发工具包。这些工具可以帮助你更轻松地进行代码调试和性能分析,提高开发效率。确保你的 PHP 开发环境始终处于最佳状态。
本文详细介绍了在 Ubuntu 22.04 或 20.04 上安装 PHP 8.3 的关键步骤,并根据不同的服务器设置(如 Apache 和 Nginx)进行了定制。请务必保持系统和 PHP 版本的更新,以提升安全性和性能。