今天改过服务器的php.ini文件后,发现所有的页面都不能访问,显示为:“No input file specified.”
由于要同时支持.NET,服务器采用的是IIS。我改用Apache就没有这个问题。
这个问题很让人头疼。google了一阵之后没有找到好的方法。大都是说因为CGI的安全认证问题,而使用ISAPI模块方式安装PHP则没有这个问题。可是我恰恰就是用ISAPI模块方式安装的,为什么还有这个问题?

于是把ISAPI删除,改成CGI模式安装PHP,然后修改PHP.ini文件中的cgi.force_redirect值为0,重启IIS。错误依旧。
到现在,我大致已经知道出现这个错误可能是因为没有找到PHP ISAPI模块的DLL文件,但是我配置的所有路径都正确呀!
接着试验。禁用IIS6中的php扩展,此时访问网站出现404错误。为什么会出现404错误?这是没有找到网页文件的错误呀!看来可能是配置问题了。

想起来刚才改过PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS,一切正常了。

; doc_root =

其实,在虚拟主机中配置php.ini中的doc_root,实际上没有什么意义,因为提供虚拟主机的IIS,一般都不会有实际的doc_root,而是每个虚拟主机一个root。我煞费苦心的跑去设置doc_root,实在是多此一举,浪费表情。

暂无评论