如何在 Ubuntu 24.04、22.04 或 20.04 上安装 PHP 8.2

PHP 是 Web 开发的基石,它不断发展,每个版本都提供新功能和改进。PHP 8.2 的发布也不例外,它带来的增强功能有望提高性能、提高代码可读性并引入更强大的类型系统。对于开发人员和系统管理员来说,了解这些更新以及如何利用它们对于维护和开发现代 Web 应用程序至关重要。

PHP 8.2 引入了多项显著的增强功能,旨在简化开发工作流程并增强应用程序的安全性和功能:

  • 只读类:使不可变类更加直接和简洁。
  • 析取范式 (DNF) 类型:在类型声明中提供更多的灵活性。
  • null、false 和 true 的独立类型:使用专用类型改进类型检查。
  • 新的“随机”扩展:提供一种更安全、面向对象的方法来生成随机数。
  • 特征中的常量: 允许特征声明常量可增强其实用性。
  • 已弃用的动态属性:通过弃用未经批准的动态属性来鼓励更好的编码实践。
  • 新的类、接口和函数:引入新的功能和属性以进一步提升 PHP 的功能。

这些增强功能彰显了 PHP 致力于推动 Web 技术发展的承诺,并强调了紧跟最新开发实践的重要性。让我们深入了解如何安装此最新版本并充分发挥您的 Web 开发项目的潜力。

在 Ubuntu 上安装 PHP 8.2 的先决条件

要在 Ubuntu 上成功安装 PHP 8.2,请确保满足以下要求:

系统要求和支持的 Ubuntu 版本

成分最低要求
处理器2 GHz 或更快的双核处理器
内存4 GB 或更多
磁盘空间25 GB 可用空间
网络高速网络连接
支持的版本Ubuntu 24.04(Noble), Ubuntu 22.04(Jammy), Ubuntu 20.04(焦点)

其他要求

要求描述
网络连接下载 PHP 8.2 并应用更新所必需。
终端约定所有终端命令都应以普通用户身份执行 sudo 特权。
CLI 命令利用命令行界面 (CLI) 进行安装和设置。
网络服务器确保安装了兼容的 Web 服务器(例如 Apache、Nginx)以运行 PHP 脚本。

在安装 PHP 之前更新 Ubuntu

首先更新您的 Ubuntu 系统至关重要。此步骤可增强安全性并确保顺利安装新软件。使用以下命令刷新您的软件包列表并升级过时的软件包:

sudo apt update
sudo apt upgrade

在 Ubuntu 上安装 PHP PPA 的初始软件包

在添加 PHP PPA 之前,请安装安全包处理所需的包。其中包括证书认证和软件属性管理工具。

运行以下命令:

sudo apt install ca-certificates apt-transport-https software-properties-common lsb-release -y

添加 PHP 8.2 PPA

现在,整合 翁德雷·苏里 (Ondrej Surý) 将 PHP PPA 导入您的系统。此存储库提供最新的 PHP 版本,超越了 Ubuntu 的默认版本。

使用以下命令导入存储库:

sudo add-apt-repository ppa:ondrej/php -y

添加 PPA 后,更新包缓存以识别新源:

sudo apt update

最后,使用以下命令升级所有需要更新的软件包:

sudo apt upgrade

继续安装 PHP 8.2

选项 1:将 PHP 安装为 Apache 模块

对于 Apache HTTP 服务器环境,PHP 通常以模块形式安装。为了维护精简的服务器,只需安装所需的特定 PHP 版本。

使用以下命令在 Ubuntu 上将 PHP 8.2 安装为 Apache 模块:

sudo apt install php8.2 libapache2-mod-php8.2

安装后,重新启动 Apache 以加载新的 PHP 模块:

sudo systemctl restart apache2

选项 2:使用 PHP-FPM 安装 Apache

PHP-FPM 为繁忙的网站提供增强的性能。

要在 Ubuntu 上使用 PHP-FPM for Apache 安装 PHP 8.2:

sudo apt install php8.2-fpm libapache2-mod-fcgid

使用以下方式启用 PHP-FPM:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm

重新启动 Apache 以应用更改:

sudo systemctl restart apache2

选项 3:安装 Nginx 的 PHP 8.2 支持

Nginx 需要 PHP-FPM 来处理 PHP 文件。使用以下命令在 Ubuntu 上安装 PHP 8.2 并为 Nginx 安装 PHP-FPM:

sudo apt install php8.2 php8.2-fpm php8.2-cli

如果 PHP-FPM 8.2 服务未运行,请手动启动它:

sudo systemctl start php8.2-fpm

为 PHP-FPM 8.2 配置 Nginx 服务器块

修改 Nginx 服务器块以处理 PHP 文件。将其添加到相关的服务器块:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}

您可以使用以下命令验证修改后的 Nginx 配置的语法:

sudo nginx -t

此命令验证配置文件的语法并突出显示发现的任何错误。成功的输出将如下所示:

nginx:配置文件/etc/nginx/nginx.conf语法正常 nginx:配置文件/etc/nginx/nginx.conf测试成功

确认语法正确后,重新启动 Nginx 服务以应用更改:

sudo systemctl restart nginx

最后要注意的是,请务必检查系统上安装的 PHP 版本。使用以下命令执行此操作:

php --version

此命令显示您系统当前的 PHP 版本,让您确认安装或升级是否成功。

使用 PHP 8.2 扩展

安装 PHP 8.2 扩展

要在 Ubuntu 上自定义 PHP 8.2,请选择符合项目要求的扩展。此方法可提高性能和安全性。

使用以下命令安装必要的扩展:

sudo apt install php8.2-{cli,fpm,curl,mysqlnd,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,readline,memcached,redis,mbstring,apcu,xml,dom,memcache}

了解 PHP 8.2 扩展

  • php-cli:用于运行 PHP 脚本的命令行界面。
  • php-fpm:FastCGI 进程管理器,用于高效处理请求。
  • php-curl:实现与不同类型的服务器的通信。
  • php-mysqlnd:用于数据库连接的 MySQL 原生驱动程序。
  • php-gd:用于图像处理的图形库。
  • php-opcache:通过缓存预编译的脚本字节码来提高 PHP 性能。
  • php-zip:管理zip文件操作。
  • php 国际:对全球字符集的国际化支持。
  • php 常用:跨多个 PHP 模块的常见功能。
  • php-bcmath:用于精确浮点运算。
  • php-imagick:使用 ImageMagick 的图像处理功能。
  • php-xmlrpc:XML-RPC 服务器和客户端功能。
  • php-readline:从终端交互式输入读取。
  • php-memcached 和 php-redis:缓存解决方案以提高性能。
  • php-mbstring:处理多字节字符编码。
  • php-apcu:用户缓存以增强 PHP 应用程序性能。
  • php-xml 和 php-dom:XML 解析和操作。

要查找其他模块(以上仅为示例),请使用以下搜索命令:

sudo apt search php8.2-

监控已安装的 PHP 8.2 模块

使用 php -m 查看已加载的PHP模块:

php8.2 -m

建议定期检查并移除未使用的模块以保持效率。

安装 PHP 8.2 开发工具

对于 PHP 开发和调试:

sudo apt install php8.2-xdebug php8.2-pcov php8.2-dev

结论

总之,本指南已成功为您提供了在 Ubuntu 24.04、22.04 或 20.04 上安装 PHP 8.2 的步骤。提供的说明适用于各种服务器环境,无论是将 PHP 配置为 Apache 模块、将 PHP-FPM 与 Apache 一起使用,还是为 Nginx 设置 PHP 支持。定期更新您的系统和 PHP 版本以获得安全性和性能优势。

有用的链接

以下是一些与使用 PHP 相关的有价值的链接:

  • PHP 官方网站:访问 PHP 官方网站,了解有关该编程语言、其功能和下载选项的信息。
  • PHP 8.2 发行说明:探索 PHP 8.2 的发行说明,了解新功能、改进和变化。
  • PHP 8.2 变更日志:查看 PHP 8 的更改日志,了解每个版本中更改和更新的详细列表。
  • PHP 文档:访问综合文档,获取有关使用 PHP 和进行编程的详细指南。
  • PHP 支持:查找各种支持资源以获取有关 PHP 的帮助,包括邮件列表和用户组。
Joshua James
跟我来
Joshua James 的最新帖子 (查看全部)

发表评论