今天有一个项目上有一个模块,程序使用php写的,需要的服务器上搭建PHP的环境,由于我公司的服务器都是Windows系列的,本来前两天买了一台新的服务器,上面搭建了IIS服务器,跑的一个ASP的项目,现在又要部署一个PHP的项目,本想直接在IIS上配置让其支持PHP,但一想性能可能不会很高,于是又想用Apache2.2搭建一个环境,这个重量级的有点大,于是又到了Nginx,这个很小的,使用起来很方便,功能是很强大的,配置好后,访问php文件,出现 “No input file specified”的信息,到Nginx的日志中查看,是404,那就是没有找到php文件了,可能是路径的问题了,于是网上找了一下,网上很多种方法,如改doc_root、给目录加权限、修改缓冲池或必须指定正确的SCRIPT_FILENAME,fastcgi_param SCRIPT_NAME $fastcgi_script_name;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;等等都无效。最后找到一篇文章,按照这个上面的配置完,问题解决了,方法如下:
在php.ini文件里面修改:
1、增加一行(这个最重要)
fastcgi.impersonate = 1
2、修改两项(解开注释就可以了)
cgi.fix_pathinfo=1
cgi.force_redirect = 0
参考文档:
http://www.jb51.net/article/23902.htm
http://blog.163.com/[email protected]/blog/static/67454658201010305531295/
http://www.weste.net/2012/5-31/82894.html
配置Nginx支持php,出现No input file specified错误的解决方法