复制`php.ini-recommended`或`php.ini-development`为`php.ini`。
> 修改为php.ini。
> 搜索“extension\_dir”,找到: extension\_dir = "ext" 先去前面的分号再改为 extension_dir = "C:\wnmp\php72\ext"
> 搜索“date.timezone”,找到:;date.timezone = 先去前面的分号再改为 date.timezone = Asia/Shanghai
> 搜索“enable\_dl”,找到:enable\_dl = Off 改为 enable\_dl = On
> 搜索“cgi.force\_redirect” ;cgi.force\_redirect = 1 先去前面的分号再改为 cgi.force\_redirect = 0
> 搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 去掉前面的分号
> 搜索“cgi.rfc2616\_headers”,找到:;cgi.rfc2616\_headers = 0 先去前面的分号再改为 cgi.rfc2616\_headers = 1
> 搜索“php\_mysql”,找到:”extension=php\_pdo\_mysql.dll和extension=php\_mysqli.dll 去掉前面的“;”extension=php\_mysql.dll和extension=php\_mysqli.dll (支持MYSQL数据库)
~~~
;设置php的ext路径,通常需要用绝对路径。
extension_dir = "D:/php-5.2.17-nts-Win32-VC6-x86/ext"
;提交数据最大限制
post_max_size = 30M
;上传文件的最大限制。
upload_max_filesize = 100M
;通常要开启的扩展,php7.0无php_mysql.dll、php_pdo.dll,无需开启这两项。
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
;php与nginx整合必须开启
cgi.fix_pathinfo=1
~~~
## 开启php-cgi.exe
C:\wnmp\php72/php-cgi.exe -b 127.0.0.1:9000 -c C:\wnmp\php72/php.ini
就是php目录下的php-cgi.exe和php-ini文件,加上绝对路径,端口号要跟nginx的对上!
![](https://img.cloudduo.cn/images/202004/1263709-20181017152406967-1026516568.png)
这样子就是正常滴,别人为它傻了,怎么没反应。
这个窗口是不能关的,一旦管理,php-cgi就会关闭,就不能解析php文件。
是不是很麻烦不能最小化,我们现在就来教你怎么解决。
为了节省时间可以用批处理来打开/关闭Nginx和php-cgi,
这里用到RunHiddenConsole(用来隐藏CMD命令窗),网上一搜大把,本文开头也给出了下载地址,下载后把RunHiddenConsole.exe和批处理文件放在同一级目录就行啦,是不用双击打开安装什么滴,别辣么傻,我傻就行了。
编写批处理文件(.bat就是批处理文件,有兴趣学的可以学些)
启动nginx和php-cgi批处理文件start.bat(文件名自己喜欢)
start.bat
```
@echo off
set PHP_FCGI_MAX_REQUESTS = 1000
echo Starting PHP FastCGI...
rem 下面这里的分别替换成你的php-cgi.exe和php.ini的路径 ,后面的-b,-c等参数必须保留且注意前后空格
RunHiddenConsole E:\self\soft\php-7.2.11/php-cgi.exe -b 127.0.0.1:9001 -c E:\self\soft\php-7.2.11/php.ini
echo Starting nginx...
rem 注意替换成你的nginx目录
E:\self\soft\nginx-1.14.0/nginx.exe -p E:\self\soft\nginx-1.14.0/
cd D:/webServer/nginx-1.5.2/
pause
```
关闭批处理文件 stop.bat
```
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
```
批处理文件双击就能运行。
如果有人发现,端口号对上了,但是浏览器访问php文件,只下载并没有解析,为什么会这样,明明百度了那么多教程,配置怎么看都没有问题?
其实很简单,重启电脑!是的,就是重启电脑。重启nginx没有任何作用,别问我怎么知道,我当初就搞了很久,没想到真的是要重启电脑。