平台描述:Windows下,使用PHP套件 xampp,因为是测试玩,所以没在服务器 Linux 环境中配置。
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 |
09 |
echo Starting nginx... |
10 |
RunHiddenConsole D:/nginx/nginx.exe -p D:/nginx/ |
stop_nginx.bat
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://localhost:81/test.php,OK。