Nov 05
作者: 肖建彬 | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://www.xiaojb.com/archives/tips/php-fastcgi-no-input-file-specified.shtml

最近经常搞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服务。

其实都是因为粗心造成的,本来很简单,写出来也给自己提个醒。

Tags: , , ,

4 Responses to “php+fastcgi遭遇No input file specified.错误”

  1. jackbillow Says:

    总结的很不错!!!

  2. geminis Says:

    还有可能:要把网站的主目录添加到php.ini中的open_basedir参数中

  3. 断峰狼 Says:

    请问这个是什么的路径?
    fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;

    谢谢

  4. coolesting Says:

    我也遇到这个情况,gg几个贴都没搞定, 最后看你这个帖,原来发现这个错误是因为fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;这行造成,大多是新人遇到的问题,因为它默认是fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;也就是说服务器脚本官方默认位置放这个/scripts我们没有改动就去运行,当然是错的了, 至于doc_root可能是大家后来人为问题改了不能运行 有关。