最近在windows下面尝试着用nginx去架设一个PHP的环境,因为是和APACEH不一样了,所以在网上参照了一下。
nginx的配置倒是非常简单,在官网下载了nginx-0.8.24的win版本,直接扔在本机上面,启动了一下。然后输入http://127.0.0.1//,便显示出欢迎的信息了。接下来是搭配php的环境。首先是更改php.ini,因为php.ini我是放在C:\windows目录下面的。
是说要将cgi.fix_pathinfo = 1开启,否则PHP 将无法找到需要处理的 php 文件。照做。因为php是需要cgi方式运行的,要额外的开一个cgi的进程去监听某个端口。然后nginx把php文件传过去由phpcgi进行解析。所以要在dos下面运行一下
C:/php5/php-cgi.exe -b 127.0.0.1:9000 -c C:/php5/php.ini因为php.ini已经放在windows目录下面了,所以红色的地方我就去掉了。然后进程一直开启
接下来是配置nginx。
在nginx目录 下面的conf中更改nginx.conf location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME D:/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
将这段话解除注释。让其能对PHP文件进行fastcgi的解析然后重新启动nginx结果杯具了
也不知道具体是错在哪一步上面,或者说怎么去调试。。
已经好几天了,不解决在心里面又是一块梗。还望有经验的高人帮忙一下啊T_T
nginx的配置倒是非常简单,在官网下载了nginx-0.8.24的win版本,直接扔在本机上面,启动了一下。然后输入http://127.0.0.1//,便显示出欢迎的信息了。接下来是搭配php的环境。首先是更改php.ini,因为php.ini我是放在C:\windows目录下面的。
是说要将cgi.fix_pathinfo = 1开启,否则PHP 将无法找到需要处理的 php 文件。照做。因为php是需要cgi方式运行的,要额外的开一个cgi的进程去监听某个端口。然后nginx把php文件传过去由phpcgi进行解析。所以要在dos下面运行一下
C:/php5/php-cgi.exe -b 127.0.0.1:9000 -c C:/php5/php.ini因为php.ini已经放在windows目录下面了,所以红色的地方我就去掉了。然后进程一直开启
接下来是配置nginx。
在nginx目录 下面的conf中更改nginx.conf location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME D:/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
将这段话解除注释。让其能对PHP文件进行fastcgi的解析然后重新启动nginx结果杯具了
也不知道具体是错在哪一步上面,或者说怎么去调试。。
已经好几天了,不解决在心里面又是一块梗。还望有经验的高人帮忙一下啊T_T
我在想是不是问题出在php-cgi的解析这里,不过这块也看不到有相关的LOG。
T_T
用的操作系统是WIN7。
就是换成NGINX就傻逼了。现在就是不知道php-cgi.exe怎么样去调试。
苦恼啊……
应该是
fastcgi_param SCRIPT_FILENAME D:/nginx-0.8.24/html$fastcgi_script_name;我写成了
fastcgi_param SCRIPT_FILENAME D:/nginx/html$fastcgi_script_name;想想我笔记本和台机惟一的区别就是system32下台机没有拷相应的DLL文件进去。
回家我用台机试试看。是这个原因就好了。