核心:不用Apache,用Nginx+Redis,适配PHP8.1.32(NTS版),全程实测,新手可直接照做,无多余废话。用了Nginx就用NTS,用Apache就用TS
一、前期准备(必下文件)
-
PHP:php-8.1.32-nts-Win32-vs16-x64.zip(NTS版,适配Nginx,官网存档下载:https://windows.php.net/downloads/releases/archives/)
-
Redis扩展:php_redis-5.3.7-8.1-nts-vc16-x64.zip(对应PHP版本,直接下载:https://pecl.php.net/get/redis-5.3.7-8.1-nts-vc16-x64.zip)
-
Nginx:nginx-1.28.3.zip(稳定版,官网下载:http://nginx.org/en/download.html,选Windows-64)
注意:所有文件解压路径必须纯英文、无空格(示例路径:D:\php81、D:\nginx-1.28.3)。
二、PHP 配置(核心步骤)
-
解压PHP到D:\php81,复制php.ini-development,重命名为php.ini。
-
打开php.ini,修改3处关键配置(去掉前面分号;):
-
extension_dir = "ext"
-
开启扩展:extension=mysqli、extension=pdo_mysql、extension=redis
-
设置时区:date.timezone = Asia/Shanghai
-
-
安装Redis扩展:解压Redis扩展包,将php_redis.dll复制到D:\php81\ext。
-
配置环境变量:此电脑→属性→高级系统设置→环境变量→系统变量Path→新增D:\php81,重启CMD。
-
验证:CMD输入php -v(显示PHP8.1.32版本)、php -m(显示redis扩展),即为成功。
三、Nginx 配置与启动
-
解压Nginx到D:\nginx-1.28.3,打开D:\nginx-1.28.3\conf\nginx.conf,删除原有内容,替换为以下配置(修改root路径为自己的PHP源码路径):
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root D:/php81/www/api; # 替换为你的PHP源码路径 index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } 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; } } } -
启动顺序(必须按此顺序,CMD分开打开):
-
启动PHP-CGI:CMD输入 D:\php81\php-cgi.exe -b 127.0.0.1:9000(窗口不要关)
-
启动Nginx:新开CMD,依次输入 D: → cd nginx-1.28.3 → start nginx(无提示即为成功)
-
四、测试与报错解决
-
测试:浏览器输入http://localhost,能访问PHP源码内容即为成功。
-
常见报错解决:
-
Nginx报错"找不到nginx.conf":不要双击nginx.exe,必须先cd进入Nginx目录再启动。
-
502 Bad Gateway:PHP-CGI未启动,重新执行启动PHP-CGI命令。
-
404页面:nginx.conf中root路径写错,核对源码路径并修改。
-
Redis扩展加载失败:确认扩展版本与PHP版本(NTS、x64、vc16)完全对应。
-
五、常用命令(备用)
-
停止Nginx:CMD进入Nginx目录,输入 nginx.exe -s stop
-
强制杀死Nginx进程:taskkill /f /im nginx.exe
-
重新加载Nginx配置:nginx.exe -s reload