Ubuntu 24.04 默认使用 PHP 8.3,需配置 Nginx 通过 FastCGI 将 .php 请求转发至 php8.3-fpm.sock,并确保服务状态、套接字路径、权限(www-data)及配置指令严格匹配。

Ubuntu 24.04 默认使用 PHP 8.3,对应的服务名是 php8.3-fpm,不是通用的 php-fpm。Nginx 本身不解析 PHP,必须通过 FastCGI 协议把 .php 请求转发给 PHP-FPM 进程处理。配置关键在于服务名匹配、套接字路径一致、权限正确和 Nginx 配置精准。
确认 PHP-FPM 已安装并运行
先确保 PHP-FPM 正常工作:
- 安装命令:
sudo apt install php8.3-fpm - 检查状态:
sudo systemctl status php8.3-fpm(应显示 active (running)) - 验证监听:默认用 Unix socket,执行
sudo ss -tulpn | grep php8.3,应看到/run/php/php8.3-fpm.sock - 若未运行,启用并启动:
sudo systemctl enable --now php8.3-fpm
编辑 Nginx 站点配置文件
以默认站点为例,编辑 /etc/nginx/sites-available/default(或你自己的配置文件):
- 在
server块内添加或修改location ~ \.php$区块 - 确保包含以下核心指令(路径与 PHP 版本严格对应):
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; } - 注意:
fastcgi_pass必须指向/run/php/php8.3-fpm.sock,不能写成php-fpm.sock或php8.1-fpm.sock
检查权限与用户一致性
Nginx 工作进程(通常是 www-data)需要能读写 PHP-FPM 的 socket 文件:
立即学习“PHP免费学习笔记(深入)”;
- 确认 socket 文件属组为
www-data:ls -l /run/php/php8.3-fpm.sock - 如权限不符,编辑 PHP-FPM 池配置:
sudo nano /etc/php/8.3/fpm/pool.d/www.conf - 确保以下两行设置正确:
listen.owner = www-data listen.group = www-data
- 改完重启服务:
sudo systemctl restart php8.3-fpm nginx
测试与排错
快速验证是否生效:
- 在网站根目录(如
/var/www/html)新建info.php:echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php - 访问
http://你的IP/info.php,应显示 PHP 8.3 信息页 - 若返回 502 Bad Gateway:
- 先查 Nginx 错误日志:
sudo tail -n 20 /var/log/nginx/error.log - 再查 PHP-FPM 日志:
sudo tail -n 20 /var/log/php8.3-fpm.log - 常见原因:socket 路径写错、PHP-FPM 未运行、权限不匹配、SELinux(Ubuntu 默认无)
- 先查 Nginx 错误日志:



















