windows 11 搭建 php 8.4.1 + nginx 1.26.2 环境成功的关键是四步:下载官方包并解压至无中文无空格路径(如 c:\nginx、c:\php);配置 php.ini 设置 extension_dir、date.timezone、cgi.fix_pathinfo=1、cgi.force_redirect=0 并启用核心扩展、创建 session_temp/upload_temp 目录;修改 nginx.conf 的 root、index 和 location ~ .php$ 块,确保 fastcgi_pass 与 php-cgi 监听地址严格一致(如 127.0.0.1:9000)且 script_filename 拼接正确;用 runhiddenconsole 后台启动 php-cgi.exe,再以 cmd 执行 start nginx,最后通过 localhost/index.php 的 phpinfo() 验证。

Windows 11 上手动搭建 PHP 8.4.1 + Nginx 1.26.2 环境,核心是让 Nginx 能把 .php 请求准确转给 php-cgi.exe 处理——不是装上就能跑,关键在配置对齐和进程常驻。下面分四步实操,每步只讲必须做的动作,不绕弯。
下载与解压:选对包、放对路
必须用官方源,路径不能含中文或空格:
- Nginx:去 nginx.org/en/download.html 下 Windows 版 nginx/Windows-1.26.2,解压到 C:\nginx(不要放 Program Files 或桌面)
- PHP:去 windows.php.net/download 下 PHP 8.4.1 (VC17 x64 Thread Safe) ZIP 包,解压到 C:\php
- VC++ 运行库:安装 Microsoft Visual C++ 2022 Redistributable (x64)(PHP 官网下载页有提示链接)
配置 PHP:改三处、启两目录、开扩展
进 C:\php,复制 php.ini-development → 重命名为 php.ini,用记事本打开修改:
- 取消注释并设为:extension_dir = "C:/php/ext"(斜杠方向要对,末尾不加 /)
- 设时区:date.timezone = Asia/Shanghai
- 关键开关:cgi.fix_pathinfo = 1(Nginx 场景必须为 1,不是 0)
- 安全项:cgi.force_redirect = 0(Windows + Nginx 必须关,否则全 404)
- 启用扩展:取消以下几行前面的分号:extension=mysqli、extension=pdo_mysql、extension=openssl、extension=curl
- 建两个空文件夹:C:\php\session_temp 和 C:\php\upload_temp,然后在 php.ini 中写:
- session.save_path = "C:/php/session_temp"
- upload_tmp_dir = "C:/php/upload_temp"
配置 Nginx:定位 root、对齐端口、拼对 SCRIPT_FILENAME
打开 C:\nginx\conf\nginx.conf,找到 server 块,按如下方式修改(直接替换整个 server 块更稳妥):
- root 设为你网站根目录,例如:root C:/www;(提前建好该文件夹)
- index 加上 index.php:index index.php index.html;
- 确保有这段 PHP 处理配置(位置在
location / { ... }同级):location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } - 注意:fastcgi_pass 的地址和后面启动 php-cgi 的地址必须完全一致(这里用 127.0.0.1:9000,别写 localhost 或 ::1)
启动服务:用 RunHiddenConsole 包裹 php-cgi,再启 nginx
PHP-CGI 不是双击就能留下的程序,必须后台运行:
- 下载 RunHiddenConsole.exe(轻量小工具,百度或 GitHub 可搜到),放到 C:\php 目录下
- 新建一个文本文件,重命名为 start_php.bat,内容为:
@echo off C:\php\RunHiddenConsole.exe C:\php\php-cgi.exe -b 127.0.0.1:9000 -c C:\php\php.ini - 双击运行 start_php.bat(窗口会闪一下,但进程在后台持续运行)
- 以管理员身份打开 CMD,执行:
cd C:\nginx start nginx - 验证:在 C:\www 下新建 index.php,内容为:
<?php phpinfo(); ?>
浏览器访问 http://localhost,看到 PHP 信息页即成功
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











