Windows下配置Nginx使之支持PHP
2016-06-27 09:03:58
10966
1. 首先,将 nginx.conf 中的 PHP 配置注释去掉。
01 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 |
05 | # fastcgi_pass 127.0.0.1:9000; |
06 | # fastcgi_index index.php; |
07 | # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; |
08 | # include fastcgi_params; |
13 | fastcgi_pass 127.0.0.1:9000; |
14 | fastcgi_index index.php; |
15 | fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; |
16 | include fastcgi_params; |
2. 这里使用的 PHP 是以 cgi 的形式,所以要启用 php-cgi,修改 php.ini,把注释去掉:
3. 启动 php-cgi 和 nginx,下面介绍两个脚本:
start_nginx.bat
03 | REM set PHP_FCGI_CHILDREN=5 |
04 | set PHP_FCGI_MAX_REQUESTS=1000 |
06 | echo Starting PHP FastCGI... |
07 | RunHiddenConsole D:/xampp/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/xampp/php/php.ini |
10 | RunHiddenConsole D:/nginx/nginx.exe -p D:/nginx/ |
stop_nginx.bat
view sourceprint?
3 | taskkill /F /IM nginx.exe > nul |
4 | echo Stopping PHP FastCGI... |
5 | taskkill /F /IM php-cgi.exe > nul |
相关下载:RunHiddenConsole.zip
可以看看进程里,如果 nginx 和 php-cgi 都有,那么差不多要成功了。最后,可能会出现 "No input file specified" 的问题,那么修改一下 nginx.conf :
04 | fastcgi_pass 127.0.0.1:9000; |
05 | fastcgi_index index.php; |
06 | #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; |
07 | #fastcgi_param SCRIPT_FILENAME D:/nginx/html$fastcgi_script_name; |
08 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; |
09 | include fastcgi_params; |
注意注释的地方,修改成下面那行,请根据你的具体文件配置路径。
编辑 test.php :
运行 http://www.landui.com:81/test.php,OK。