零基础用户可通过官方nginx+php-fpm组合搭建永久免费本地开发环境:下载php zip包解压至d:\php并配置php.ini(启用ext目录、设时区、关闭cgi.fix_pathinfo);运行php-fpm.exe监听127.0.0.1:9000;下载nginx解压后修改nginx.conf添加php location块,指定fastcgi_pass和script_filename;最后用phpinfo()验证成功。

零基础用户想在本地快速搭建一个永久免费、无需付费授权、可长期稳定运行的PHP+Nginx开发环境,必须避开商业版WAMP/XAMPP等封装套件的更新限制和后台服务干扰,直接使用官方开源组件组合——Nginx + PHP-FPM 是唯一满足“永久免费+高性能+完全可控”的技术路径。
下载并解压PHP官方二进制包
访问 windows.php.net/download,选择最新稳定版 ZIP 包(如 PHP 8.5.5 (VC17 x64 Thread Safe)),下载后解压到固定路径,例如 D:\php。不要用“php-8.5.5-Win32-vs17-x64”这类带版本号的文件夹名,直接重命名为 php,避免后续配置中路径出错。
进入该目录,将 php.ini-development 复制一份并重命名为 php.ini;用记事本打开它,找到 ;extension_dir = "ext" 这一行,删掉前面的分号,并确认值为 extension_dir = "ext"(相对路径即可,无需写绝对路径)。
继续在 php.ini 中搜索 ;date.timezone =,取消注释并在等号后填入 Asia/Shanghai;再搜索 ;cgi.fix_pathinfo=1,改为 cgi.fix_pathinfo=0 ——这步【必须做】,否则 Nginx 转发时可能触发任意文件执行漏洞。
启动PHP-FPM服务(不依赖Windows服务)
PHP 官方 ZIP 包不含 Windows 服务注册功能,也不推荐注册为系统服务——那样反而增加管理复杂度且无法即时调试。我们采用轻量方式:直接运行 php-fpm.exe。
先检查 PHP-FPM 配置文件是否存在:打开 D:\php\php-fpm.conf,若不存在,则复制 php-fpm.conf.production 并重命名为 php-fpm.conf;用记事本打开它,找到 listen = 127.0.0.1:9000 这一行,确认未被注释;再找到 user = 和 group =,全部注释掉(Windows 下不生效,留着反而报错)。
以管理员身份打开命令提示符,执行:D:\php\php-fpm.exe -c D:\php\php.ini -y D:\php\php-fpm.conf -t ——验证配置语法是否正确;
若显示 “configuration file D:\php\php-fpm.conf test is successful”,说明通过。
接着输入:D:\php\php-fpm.exe -c D:\php\php.ini -y D:\php\php-fpm.conf ——此时窗口保持打开状态,即 PHP-FPM 已在后台运行,监听 127.0.0.1:9000。
配置Nginx转发PHP请求
从 nginx.org 下载最新 Windows 版 ZIP 包(如 nginx/1.26.2),解压至 D:\nginx。
编辑 D:\nginx\conf\nginx.conf,在 http { ... } 块内,找到 server { ... } 段,在 location / { ... } 下方插入以下配置:
location ~ \.php$ {<br> fastcgi_pass 127.0.0.1:9000;<br> fastcgi_index index.php;<br> include fastcgi_params;<br> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br>}
注意:不要删除原有的 include fastcgi_params; 行,它已定义基础参数;新增的 fastcgi_param SCRIPT_FILENAME 行【不可省略】,否则 PHP 将找不到脚本路径,返回 404 或空白页。
保存后,在命令行中进入 D:\nginx,执行:nginx.exe -t → 验证配置;nginx.exe → 启动 Nginx(无窗口弹出即成功)。
验证PHP是否正常工作
在 D:\nginx\html 目录下新建一个文件,命名为 info.php,内容仅一行:<?php phpinfo(); ?>
打开浏览器,访问 https://www.php.cn/link/31bd2c1425f9766a5081c75efff468bd。如果页面完整显示 PHP 版本、配置项、已加载扩展等信息,说明 Nginx 成功将请求交由 PHP-FPM 解析执行。
若页面显示下载对话框或 502 Bad Gateway 错误,请立即检查:① PHP-FPM 进程窗口是否仍在运行;② nginx.conf 中 fastcgi_pass 地址是否与 php-fpm.conf 中 listen 值完全一致;③ php.ini 中 cgi.fix_pathinfo 是否确为 0。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











