在IIS6中运行PHP

在IIS6中运行PHP,php,iis-6,Php,Iis 6,我正在使用IIS运行我的php网站,我将IIS配置为与php一起工作,如下教程所述 但是当我运行任何php页面时,都会出现以下错误 您试图从不允许执行程序的目录中执行CGI、ISAPI或其他可执行程序 我明白这一点 现在我收到了以下错误消息 The FastCGI Handler was unable to process the request. ------------------------------------------------------------------------

我正在使用IIS运行我的php网站,我将IIS配置为与php一起工作,如下教程所述

但是当我运行任何php页面时,都会出现以下错误

您试图从不允许执行程序的目录中执行CGI、ISAPI或其他可执行程序

我明白这一点

现在我收到了以下错误消息

The FastCGI Handler was unable to process the request. 
--------------------------------------------------------------------------------

Error Details:

The FastCGI process exceeded configured request timeout 
Error Number: 258 (0x80070102). 
Error Description: The wait operation timed out. 
快速CGI错误

FastCGI处理程序无法处理该请求。 错误详细信息:

在[Types]部分的站点67761686上找不到“php”的条目。 错误号码:1413(0x80070585)。 错误描述:索引无效。 HTTP错误500-服务器错误。 互联网信息服务(IIS)

这是我更新的fcgiext.ini

[Types]
php=PHP

[PHP]
ExePath=C:\PHP\php-cgi.exe
现在我收到了这个错误消息

The FastCGI Handler was unable to process the request. 
--------------------------------------------------------------------------------

Error Details:

The FastCGI process exceeded configured request timeout 
Error Number: 258 (0x80070102). 
Error Description: The wait operation timed out. 

我希望这个链接会有所帮助

再次打开iis.msc,返回主目录选项卡,并从执行权限菜单中选择“仅脚本”选项>。重新启动服务器

服务器现在应该正确处理.php文件


PHP页面在IIS上返回404错误

我在IIS6服务器上安装PHP5时遇到了一个非常常见的问题。PHP似乎安装正确,但浏览任何带有.PHP扩展名的页面时返回404页面未找到错误。虽然下面的步骤为我解决了这个问题,但我不得不从几个不同的来源将它们拼凑在一起,而其他一些建议(比如将php.ini文件复制到C:/WINDOWS/)都不起作用,也没有必要

在C:\WINDOWS\system32\inetsrv\IIS.msc打开IIS管理控制台。 深入到您的网站,右键单击并选择“属性”。 选择主目录选项卡,然后单击配置按钮。 选择映射选项卡。 如果没有列出.php扩展名,请单击Add按钮。浏览到PHP5DLL(可能位于C:\Program Files\PHP\php5isapi.DLL)。在扩展字段中键入.php,并将其他所有内容保留为默认值。单击“确定”。扩展和可执行路径将被填写,在动词下面您应该看到“全部”

我应该指出,我没有在ISAPI过滤器选项卡下列出任何内容

停止并重新启动IIS服务器,然后浏览到.php文件。(若要重新启动IIS服务器,请打开IIS管理控制台,右键单击左侧窗格中的本地计算机,将鼠标悬停在“所有任务”上,然后选择“重新启动IIS”。)很可能,您不再收到404错误,但现在看到403.1消息,如:

The page cannot be displayed
You have attempted to execute a CGI, ISAPI, or other executable program from a directory that does not allow programs to be executed.

Please try the following:

* Contact the Web site administrator if you believe this directory should allow execute access.

HTTP Error 403.1 – Forbidden: Execute access is denied.
Internet Information Services (IIS)
再次打开iis.msc,返回主目录选项卡,并从执行权限菜单中选择“仅脚本”选项。重新启动服务器


服务器现在应该可以正确处理.php文件了。

看看我关于服务器故障的回答,找到一种在十分钟内安装php的非常可靠的方法:

如果您按照正确的顺序执行所有步骤,那么PHP很快就会启动并运行

更新:

根据您的评论和问题更新,编辑
fcgiext.ini
文件,使其仅包含以下行:

[Types] php=PHP [PHP] ExePath=C:\PHP\php-cgi.exe [类型] php=php [菲律宾] ExePath=C:\PHP\PHP-cgi.exe
从命令提示符执行以下操作:

一,

二,


在以上步骤之后,您是否重新启动了IIS?我在谷歌上搜索了一下,这肯定是IIS权限问题。确保文件夹+文件和OFC php.exe具有正确的权限。若要修改执行权限,请右键单击Microsoft管理控制台(MMC)中的目录,单击“属性”,然后单击“目录”选项卡,并确保“执行权限”设置适合您试图访问的内容。@meera-好的……这是进度。您能发布一份
%systemroot%\system32\inetsrv\fcgiext.ini
文件中的内容吗?@Kev plzz我做了很多研究,但没有找到解决方案,您能回复我吗issue@meera -对不起,我错过了。将进行查看。@meera-看起来您没有按照链接答案中的说明编辑fcgiext.ini文件。我已经更新了我的答案。你必须完全按照描述的步骤去做。@meera-有两个错误。在
[Types]
[PHP]
节名之前有前导逗号。只需删除fcgiext.ini文件中的所有内容,并替换为我在答案中发布的内容。
   c:\Windows\system32\inetsrv>cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"c:\php\php-cgi.exe"