windows上装了nginx+php的环境 但不能解析php请问你是为什么
nginx吧
全部回复
仅看楼主
level 2
c1002231500 楼主
可以访问静态文件 但不能输出php报这个错误
nginx版本是1.7.7 php版本5.6.3
另外nginx错误日志里的信息是:
2014/11/14 14:03:25 [error] 4420#1356: *63 upstream sent unsupported FastCGI protocol version: 72 while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:8000", host: "localhost:8000"
2014年11月14日 07点11分 1
level 6
配置错误,自己百度
2014年11月14日 11点11分 2
就是百度不出结果才来问的呀 知道哪里的问题
2014年11月15日 03点11分
level 6
你怎么能把php-cgi和nginx服务端口设成一样呢!
2014年12月26日 09点12分 4
level 3
这个问题很搞笑哎
2015年02月13日 18点02分 5
求笑点[黑线]
2015年02月14日 11点02分
笑*** **
2018年02月06日 02点02分
level 1
【4楼正解,感谢!!!】
据4楼提示,解决方案:将php-cgi的端口和nginx端口设置为不同的端口。
第一步:如nginx的端口设为80,php-cgi端口设为8000(
server {
listen 80;
server_name localhost;
#加载php文件目录
location ~ \.php$ {
root E:/WNMP/www;
fastcgi_pass 127.0.0.1:8000;#注:fastcgi及监听的端口与php的cgi启动时要一致,而与nginx监听端口不同
fastcgi_index index.php;#默认首页
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
第二步:启动php-cgi时,使用php-cgi -b 127.0.0.1:8000 -c php.ini
原因:Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。当客户端请求(通过80端口)到达Web Server Nginx时,Nginx通过location指令,将所有以php为后缀的文件都交给127.0.0.1:8000来处理,即Nginx通过location指令,将所有以php为后缀的文件都交给127.0.0.1:8000来处理。FastCGI完成处理后将标准输出和错误信息从同一连接返回Web Server nginx。
详情请参看http://my.oschina.net/jingxing05/blog/267695
2016年05月15日 11点05分 9
[大拇指]好人一生平安
2016年06月15日 02点06分
1