在 IIS 6 中 fastcgi 模式运行 php 出现 No input file specified. 的解决

环境 win2003 + iis + php 5.3.35 (fastcgi 模式)

在iis里面新建一个站点test,站点的主机头也为 test ,本地文件地址:C:\web\test\ ,在本地域名解析 hosts 下面加上一行 127.0.0.1 test

在浏览器里输入 http://test/index.php 总是提示 No input file specified.

但是如果输入 http://test/index.html 可以打开,输入 htpp://test/phpinfo.php 也可以打开,.php 文件只能打开 phpinfo.php 这一个,其他的都打不开

搜出来大部分是在 php.ini 中加入

fastcgi.impersonate=1

解开下面的注释

cgi.fix_pathinfo=1

cgi.force_redirect=0

都没有用


后来找到 http://www.im87.cn/blog/10-03/phpyi-fastcgimo-shi-yun-xing-chu-xian-no-input-file-specifiedde-wen-ti

里面说要设置 doc_root = 

打开我的 php.ini 文件, doc_root 的设置

doc_root = c:/web/wwwroot

知道原因了,在 php.ini 里面设置文档的根目录为 c:/web/wwwroot ,那么所有的 .php 文件的解析都默认在 c:/web/wwwroot 里面找,我的 c:/web/wwwroot 里面只有一个原来用于测试用的 phpinfo.php ,所以造成了只能打开 phpinfo.php 文件,实际上打开的 phpinfo.php 文件不是 c:/web/test/phpinfo.php ,而是 c:/web/wwwroot/phpinfo.php

将 doc_root 设为空,问题解决。

你可能感兴趣的:(在 IIS 6 中 fastcgi 模式运行 php 出现 No input file specified. 的解决)