环境 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 设为空,问题解决。