获取在IIS内执行php代码时丢失的FastCGIModule错误

获取在IIS内执行php代码时丢失的FastCGIModule错误,php,asp.net,iis,iis-7.5,Php,Asp.net,Iis,Iis 7.5,我正在尝试加载一个包含php脚本的HTML文件。它位于Windows 7 x64上的IIS 7.5中。以下是HTML文件: <!DOCTYPE html> <html> <body> <H1>test</H1> <?php echo "My first PHP script!"; ?> </body> </html> 测试 我已将此页面作为IIS中的web应用程序托管。我的web.confi

我正在尝试加载一个包含php脚本的HTML文件。它位于Windows 7 x64上的IIS 7.5中。以下是HTML文件:

<!DOCTYPE html>
<html>
<body>
<H1>test</H1>

<?php
echo "My first PHP script!";
?>

</body>
</html>

测试
我已将此页面作为IIS中的web应用程序托管。我的web.config如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
        <handlers>
            <add name="PHP53_via_FastCGI_HTML" path="*.html" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="File" requireAccess="Script" />
        </handlers>
    </system.webServer>
</configuration>

在浏览器中浏览html文件时,会导致以下错误:

HTTP错误500.21-内部服务器错误处理程序 “PHP53_via_FastCGI_HTML”在其内部有一个坏模块“FastCgiModule” 模块列表

我仔细检查了以下内容:

  • CGI组件已安装在控制面板的windows组件/功能中
  • IIS的ApplicationHost.config文件,在
    标记内包含以下添加标记:

    add name=“FastCgiModule”image=“%windir%\System32\inetsrv\iisfcgi.dll”

  • IIS的ApplicationHost.config文件在
    标记内包含以下添加标记:

    添加name=“FastCgiModule”

  • ApplicationHost.config中提供了一些与FastCgiModule相关的附加信息。我在handlers部分中也看到了以下标记。为了简洁起见,我剪掉了它们:

    <handlers accessPolicy="Read, Script">
                    <add name="PHP_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files\PHP\v7.0\php-cgi.exe" resourceType="Either" />
                    <add name="PHP53_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="Either" />
    
    
    

    但我还是犯了上面提到的错误。有人能帮我解决我现在缺少的问题吗?

    对于这个FastCGI处理程序,您需要在服务器级别的
    ISAPI和CGI限制下有一个条目。@LexLi您能给我一些关于如何进行这些更改的指导吗?您是要我在
    applicationHost.config
    中还是在IIS中进行这些更改?我在服务器级IIS配置文件的“处理程序”部分中添加了更多详细信息。打开IIS管理器,找到“ISAPI和…”图标,然后单击它和“帮助”图标了解更多信息。