在 Debian 13 上手动编译安装 PHP 8.5 (RC2)

By | 2025-10-20

尝鲜未来:在 Debian 13 上手动编译安装 PHP 8.5 (RC2)

PHP 8.5 带来了许多令人兴奋的新特性,例如管道操作符 (|>) 和对只读属性 (Readonly Properties) 的增强等。虽然正式版 (GA) 预计于 2025 年 11 月发布,但作为开发者,我们完全可以提前在 Debian 13 系统上编译其最新的 Release Candidate (RC) 版本,抢先体验未来的力量。

本文将指导您完成在 Debian 13 上手动编译、安装和配置 PHP 8.5 FPM 的整个过程。


💻 准备编译环境和依赖

手动编译需要安装大量的构建工具和 PHP 运行时依赖的开发库。

打开终端,执行以下命令一次性安装所有必要的依赖项,包括 build-essentialgit 以及各种库的开发包(例如 SSL、cURL、SQLite、Oniguruma 等):

sudo apt update
sudo apt install git build-essential autoconf bison re2c libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libzip-dev pkg-config libsqlite3-dev libonig-dev -y

⬇️ 获取 PHP 8.5 源代码

我们将使用 git 来克隆 PHP 官方仓库,并切换到最新的 PHP 8.5 RC2 标签。

# 克隆 PHP 源代码仓库
git clone https://github.com/php/php-src.git

# 进入源代码目录
cd php-src/

# 切换到 PHP 8.5.0RC2 标签(请根据实际可用的最新版本调整)
git checkout php-8.5.0RC2

🛠️ 配置与编译

现在,我们准备配置 PHP 8.5。我们选择将 PHP 安装到 /usr/local/php85 目录,以避免与系统自带的 PHP 版本冲突。

1. 生成配置脚本

如果通过 Git 获取,需要先运行 buildconf 生成 configure 脚本:

./buildconf --force

2. 执行配置

使用您提供的配置选项,启用 FPM、MySQLi、cURL、mbstring 等常用扩展。

./configure \
    --prefix=/usr/local/php85 \
    --with-config-file-path=/usr/local/php85/etc \
    --enable-fpm \
    --with-mysqli \
    --with-pdo-mysql \
    --with-curl \
    --with-zlib \
    --with-openssl \
    --enable-mbstring \
    --enable-zip \
    --enable-exif

3. 编译与安装

使用 make -j$(nproc) 利用所有 CPU 核心加速编译过程,然后执行安装。

# 编译
make -j$(nproc)

# 安装到指定目录
sudo make install

4. 验证安装结果

安装完成后,检查 PHP 8.5 的版本:

/usr/local/php85/bin/php -v

您应该能看到类似 PHP 8.5.0RC2 (cli) 的输出。

⚙️ 配置 PHP-FPM

为了让 PHP 8.5 能够服务于 Web 请求,我们需要配置 PHP-FPM 服务。

1. 复制配置文件

将默认的 FPM 配置文件复制到安装目录的 /etc/ 文件夹下。

# 复制 FPM 主配置文件
sudo cp sapi/fpm/php-fpm.conf /usr/local/php85/etc/php-fpm.conf

# 复制 FPM 池配置文件 (默认池 www)
# 假设 /usr/local/php85/etc/php-fpm.d/ 目录不存在,请先创建
sudo mkdir -p /usr/local/php85/etc/php-fpm.d
sudo cp sapi/fpm/www.conf.default /usr/local/php85/etc/php-fpm.d/www.conf

2. 解决用户组错误

在启动 FPM 之前,需要确保 FPM 配置文件(通常是 www.conf)中指定的运行用户和用户组是存在的。默认配置通常使用 nobody

如果您的系统上缺少 nobody 用户组,请手动创建它:

# 创建 nobody 用户组(如果缺失)
sudo groupadd nobody

# 创建 nobody 用户,并禁止其登录
sudo useradd -g nobody -s /sbin/nologin nobody

注意: 生产环境中,建议修改 /usr/local/php85/etc/php-fpm.d/www.conf,将 usergroup 设置为专用的 Web 用户(如 www-datanginx)。

▶️ 启动 PHP 8.5 FPM 服务

1. 测试配置

在正式启动前,先使用 -t 选项检查 FPM 配置文件是否有误:

/usr/local/php85/sbin/php-fpm -t --fpm-config /usr/local/php85/etc/php-fpm.conf

如果看到 “configuration file … test is successful” 的提示,即可继续。

2. 启动 FPM

以管理员权限运行 FPM 可执行文件来启动服务:

sudo /usr/local/php85/sbin/php-fpm --fpm-config /usr/local/php85/etc/php-fpm.conf

至此,您的 PHP 8.5 FPM 服务已在后台运行。您可以通过 ps aux | grep php-fpm 来确认进程是否启动。

3. 创建软链接(可选)

为了方便使用,您可以创建一个软链接,在任何位置直接使用 php85 命令:

sudo ln -s /usr/local/php85/bin/php /usr/bin/php85

现在,您可以在终端中直接运行 php85 -v 进行调用。

恭喜您!您已经成功在 Debian 13 系统上编译并启动了 PHP 8.5 的最新开发版本,可以开始您的新特性探索之旅了。