源码编译是2026年11月部署PHP 8.4最可控通用的方式,适用于生产环境;需先装开发工具与oniguruma、libzip等强制依赖,再用完整configure参数编译安装至独立路径,并手动配置php.ini、FPM及systemd服务。

PHP 8.4 目前(2026年11月)已正式发布,但尚未进入主流发行版的默认仓库。在 Linux 服务器上稳定部署,**源码编译是最可控、最通用的方式**,尤其适用于生产环境或需要精细控制扩展与路径的场景。它不依赖第三方 PPA/Remi 源,避免了版本滞后、配置冲突和权限异常等问题。
一、确认系统环境与前置准备
仅支持 Linux(x86_64),不支持 Windows(官方无二进制,手动编译成功率极低)。推荐使用 Ubuntu 24.04、Debian 12、Rocky Linux 9 或 Alibaba Cloud Linux 3。
- 确保已安装基础编译工具:
build-essential(Debian/Ubuntu)或"Development Tools"(RHEL/Rocky) - 更新系统并安装常用依赖管理命令:
sudo apt update && sudo apt install -y wget curl ca-certificates(Debian/Ubuntu)或sudo dnf update -y && sudo dnf install -y wget curl ca-certificates(Rocky/RHEL) - 新建专用工作目录,例如:
sudo mkdir -p /usr/local/src/php && cd /usr/local/src/php
二、下载 PHP 8.4 源码并解压
从官方镜像站获取稳定版 tarball(非 dev 分支),截至 2026 年中,最新稳定小版本为 8.4.10:
wget https://www.php.net/distributions/php-8.4.10.tar.gztar -zxvf php-8.4.10.tar.gz && cd php-8.4.10
三、安装编译依赖(关键!缺一即失败)
PHP 8.4 强制依赖 oniguruma(正则引擎)、libzip、freetype、webp 等,漏装会导致 configure 报错中断。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
立即学习“PHP免费学习笔记(深入)”;
-
Debian/Ubuntu:
sudo apt install -y libxml2-dev libsqlite3-dev libcurl4-openssl-dev libssl-dev libjpeg-dev libpng-dev libfreetype6-dev libwebp-dev libzip-dev libonig-dev pkg-config -
Rocky/CentOS/RHEL:
sudo dnf groupinstall "Development Tools" -y && sudo dnf install -y libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libwebp-devel libzip-devel oniguruma-devel sqlite-devel bzip2-devel libffi-devel - 如
oniguruma-devel或libzip-devel在默认源中不可用,可直接下载 RPM 安装(例如 Rocky 9):wget https://dl.rockylinux.org/pub/rocky/9/devel/x86_64/os/Packages/o/oniguruma-devel-6.9.6-1.el9.5.x86_64.rpmsudo dnf install -y oniguruma-devel-6.9.6-1.el9.5.x86_64.rpm
四、配置、编译与安装
使用完整且生产就绪的 configure 参数组合,启用 FPM、常用扩展,并指定明确路径:
- 执行配置命令(建议复制整行,勿换行):
./configure --prefix=/usr/local/php84 --sysconfdir=/etc/php84 --with-config-file-path=/etc/php84 --with-config-file-scan-dir=/etc/php84/conf.d --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-mbstring --with-curl --with-openssl --with-zlib --with-bz2 --with-mysqli --with-pdo-mysql --enable-gd --with-jpeg --with-webp --with-freetype --with-zip --with-bz2 --enable-sockets --with-pcre-jit --enable-exif --enable-bcmath --with-ffi --enable-opcache - 编译(利用多核加速):
make -j$(nproc) - 安装:
sudo make install - 验证:
/usr/local/php84/bin/php -v应输出类似PHP 8.4.10 (cli)
五、初始化配置与服务管理
安装后需手动配置才能运行:
- 创建配置目录:
sudo mkdir -p /etc/php84/conf.d - 复制默认 php.ini:
sudo cp /usr/local/php84/lib/php.ini-production /etc/php84/php.ini - 复制 FPM 配置:
sudo cp /usr/local/php84/etc/php-fpm.conf.default /etc/php84/php-fpm.conf
编辑/etc/php84/php-fpm.conf,取消注释并确认:pid = /var/run/php84-fpm.piderror_log = /var/log/php84-fpm.log - 复制 pool 配置:
sudo cp /usr/local/php84/etc/php-fpm.d/www.conf.default /etc/php84/php-fpm.d/www.conf
修改listen = /run/php84-fpm.sock(Unix socket)或listen = 127.0.0.1:9084(TCP),并确保listen.owner和listen.group与 Web 服务器用户一致(如www-data或nginx) - 创建 systemd 服务文件:
sudo nano /etc/systemd/system/php84-fpm.service,填入标准 FPM 单元定义(含 ExecStart、Restart 等),然后执行:sudo systemctl daemon-reload && sudo systemctl enable php84-fpm && sudo systemctl start php84-fpm
至此,PHP 8.4 已在 Linux 服务器上完成编译安装与基础服务配置。后续只需将其接入 Nginx/Apache,并校验 phpinfo() 输出即可投入实际项目使用。


















