17.3 PHP 8.x 配置

动态网页技术是现代 Web 应用的核心支撑,服务器端脚本语言在实现业务逻辑、数据处理和用户交互方面发挥着关键作用,构成了 Web 应用程序的后端处理核心。

PHP(PHP: Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,特别适合 Web 开发,支持嵌入式 HTML 编程和多种数据库接口,其设计理念注重开发效率和易用性。

本章将详细介绍在 FreeBSD 上配置 PHP 8.x 运行环境的方法。

安装 PHP

PHP 作为最主流的服务器端脚本语言之一,其 8.x 版本在性能优化、类型系统和安全特性方面都有显著改进,包括 JIT 编译器的引入、类型系统的增强以及安全机制的完善。

在 FreeBSD 上可以通过 pkg 或 Ports 两种方式进行安装。

使用 pkg 包管理器安装 PHP 是最便捷的方式,可以同时安装 PHP 本体、扩展模块以及 Apache 模块,能够自动处理依赖关系和版本兼容性:

# pkg install php84 php84-extensions mod_php84

技巧

不同的 PHP 模块之间可能存在冲突,这会导致 Ports 编译失败,因此不建议选择所有 PHP 插件选项。推荐使用 pkg 进行安装,这种方式能够更好地处理模块间的依赖关系。

或者使用 Ports 方式安装 PHP,这种方式提供了更大的配置灵活性,允许用户在编译前进行定制化设置,需要分别进入对应的目录进行编译安装。

# cd /usr/ports/lang/php84/ && make install clean
# cd /usr/ports/lang/php84-extensions/ && make install clean
# cd /usr/ports/www/mod_php84 && make install clean

安装完成后,可以通过以下命令显示已安装 PHP 的版本信息,这是验证安装成功的基本步骤:

# php -v
PHP 8.4.4 (cli) (built: Feb 15 2025 01:05:08) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.4, Copyright (c) Zend Technologies

注意

数字 84 可能会随 PHP 版本变化而不同。可以使用以下命令查看当前可用的 PHP 版本后再进行安装,确保选择合适的版本。

配置 PHP 守护进程

安装完成后,需要对 PHP 进行基本配置,包括复制配置文件和启动 PHP-FPM(FastCGI 进程管理器)服务,PHP-FPM 是一种高效的 PHP 进程管理方式,特别适合高并发场景。

目录结构:

PHP 的示例配置文件位于 /usr/local/etc/php.ini-production,该文件包含了适合生产环境的推荐配置。

将生产环境的 PHP 配置文件复制为默认配置文件,并显示复制过程,这是配置 PHP 运行环境的第一步:

设置 PHP-FPM 服务开机自启,可以确保系统重启后 PHP-FPM 服务自动运行,保证服务的持续性和可靠性:

启动 PHP-FPM 服务,使配置生效,在启动前系统会自动进行配置文件的语法检查:

查看 PHP-FPM 服务当前状态,确认服务是否正常运行,这是验证服务启动成功的重要步骤:

查看安装后信息,了解 mod_php84 的配置说明,这些信息对于正确配置 Apache 和 PHP 的集成至关重要:

参考资料

以下是与 PHP 安装和配置相关的参考资料,供读者进一步学习和查阅。

面向 Apache 的 PHP 配置文件

如果使用 Apache 作为 Web 服务器,需要进行相应的配置,使 Apache 能够正确处理 PHP 文件。

编辑 /usr/local/etc/apache24/Includes/php.conf 文件,添加

编辑 /usr/local/www/apache24/data/info.php,加入:

用于输出当前 PHP 的配置信息和运行环境。

重启服务:

访问 ip/info.php,如 http://192.168.179.150/info.php

Apache PHP8 FreeBSD

参考文献

以下是与 Apache 配合 PHP 配置相关的参考文献。

面向 Nginx 的 PHP 配置文件

如果使用 Nginx 作为 Web 服务器,同样需要进行相应的配置,使 Nginx 能够通过 PHP-FPM 处理 PHP 文件。

编辑 /usr/local/etc/nginx/nginx.conf 文件,需要进行相应的配置修改:

删除以下行中的所有注释符号 #

修改如下:

编辑 /usr/local/www/nginx/info.php 文件,加入测试代码以显示 PHP 配置信息:

用于显示当前 PHP 的配置信息及运行环境。

重启服务,使配置更改生效:

访问 IP/info.php,如 http://192.168.179.150/info.php

Nginx PHP8 FreeBSD

参考文献

以下是与 Nginx 配合 PHP 配置相关的参考文献。

课后习题

  1. 将目前未适配的 PHP 模块适配到 FreeBSD Ports。

  2. 优化 FreeBSD PHP 相关 Port,避免潜在的冲突(如全选)。

  3. 将其适配到更多 HTTP 服务器。

最后更新于