我安装了适用于 Windows x86 的 PHP 5.3.1 VC9,并选择 IIS FastCGI 作为目标 Web 服务器。我的系统是 32 位 Windows XP,带有 IIS 6.0。在此之前,我安装了 IIS FastCGI 扩展。
现在,当我浏览我的网站时,我仍然可以看到我所有的旧文件,但任何扩展名为 .php 的文件现在都会返回 404 错误,即使该文件存在。
尽管微软产品在提供错误响应时给出了彻头彻尾的谎言(404 表示未找到,500+ 表示 WEBSERVER 错误),我该怎么做才能按照C:\Program Files\PHP\php-cgi.exe
配置文件中指定的方式通过 FastCGI 处理器实际运行我的 PHP 文件C:\Windows\system32\inetsrv\fcgiext.ini
:
[Types]
php=PHP
[PHP]
ExePath=C:\Program Files\PHP\php-cgi.exe
InstanceMaxRequests=10000
ActivityTimeout=600
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:C:\Program Files\PHP\
这是 PHP 安装程序中的现成配置。显然,它起作用了,因为如果 IIS 不知道必须对这些文件进行特殊处理,它就不会开始谎称 PHP 文件存在。
答案1
好的,经过多次反复尝试,我发现了问题所在。
我不得不:
- 右键单击“我的电脑”,选择“管理”
- 打开“服务和应用程序”->“Internet 信息服务”->“网站”->我的网站(在哪里我的网站可以是“默认网站”或我的网站的任何名称)
- 右击我的网站并选择“属性”
- 选择“主目录”选项卡,选择配置...按钮
- 选择 .php 扩展名并选择“编辑...”按钮,或者如果未列出 .php,则按“添加...”按钮
- 制作可执行文件
C:\WINDOWS\system32\inetsrv\fcgiext.dll
、扩展名.php
,并确保动词仅限于GET,HEAD,POST
,选中“脚本引擎”和“验证文件是否存在”复选框