当前位置:编程学习 > php >>

PHP以fastCGI模式运行出现 No input file specified的问题

这两天在用thinkphp研究php的MVC,结果一上来就问题重重。同样的代码在两台机器上运行结果却不一样(一台是IIS7+php@ISAPI,一台是IIS7+php@fastCGI),那台以FastCGI运行的,只要使用index.php/index/xxx这样的控制结构就出现“No input file specified”的错误。纠结了一会,在网上找到了答案:

很多利用诸如 http://www.zhaoxi.net/index.php/brand 来以index.php作为网站入口的MVC站点,在index.php后使用/brand之类的的controller,action后,就会出现 404错误,错误提示No input file specified 在纠结了几个小时后,终于找到了解决方案, 我就在站点根目录下的php5.ini 加上了:

cgi.fix_pathinfo=1 #系统默认为0,改为1即可-xlight
doc_root=

就解决了。

以下文字来源网络:

php+fastcgi遭遇No input file specified.错误

最近经常搞lighttpd+fastcgi+php或者nginx+fastcgi+php,时常被php的“No input file specified.”给郁闷了,把我遇到的情况说一下

首先php.ini的配置中

cgi.fix_pathinfo=1
doc_root= doc_root

曾经被我设置过一个路径,结果php老提示“No input file specified.”,只有一个虚机好使。改掉后就正常了。

nginx中的配置有些麻烦

fastcgi_pass 127.0.0.1:1234;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;

每个虚机要根据自己不通的虚机设置不能的目录,要保证这个路径正确。

fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;不能在fastcgi_pass 127.0.0.1:1234;的前面。

记得修改了php.ini要重启fastcgi服务。

匿名用户说到:@ 03-10-2012 12:40
网站根目录也要放php.ini吗?php.ini不是放在php目录下的吗?

回复说到:@ 03-13-2012 22:05
不是必须的,放到网站根目录下主要是针对支持自定义php.ini的虚拟主机配置(虚拟主机是不允许直接修改系统php.ini的)。如果你是在本机测试的话直接改系统(php目录或windows目录下)的配置文件就可以了。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,