嵌入在iis上时不执行html嵌入式php代码

时间:2010-05-07 19:55:58

标签: php

<HTML>
<HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <TITLE></TITLE>
</HEAD>
<BODY>
    <?php echo '<p>Hello World</p>'; ?>   
</BODY>
</HTML>

当我在浏览器中运行上面的代码时,firefox会像这样呈现:

Hello World

'; ?> 

我在Windows XP / IIS 5.1中进行编码。我正确设置了PHP,因为运行.php文件没有问题。在我看来,问题是IIS无法呈现嵌入在html中的PHP代码。 有谁知道如何解决这个问题,还是应该切换到Apache?

编辑:文件扩展名为.html

2 个答案:

答案 0 :(得分:2)

使用Windows 7 IIS和php的同样问题可以通过转到Start-&gt; Control_panel-&gt; Administrative_Tools-&gt; Internet_Information_Services_(IIS)_Manager来解决。 然后你必须选择有问题的连接, 然后双击“Handler mappings”,

在表格的右侧你可以看到“动作”面板,点击“添加模块映射”, 在“请求路径”字段中,您必须编写“* .html”(不带引号), 在“模块”部分选择“FastCgiModule”, 在“可执行文件”部分找到php-cgi.exe文件的路径, 在“名称”部分写下我们说“html”(没有引号),

然后按“请求限制按钮”, 标记“仅在请求映射到的情况下调用处理程序”并选择“文件或文件夹” 点击确定,再次点击确定,点击“是”

现在你的iis服务器应该理解* .html文档中的php脚本。

答案 1 :(得分:1)

您需要告诉IIS通过PHP解释器运行您的.html文件,而不是直接为它们提供服务。

我不确定是怎么做到的......一个小小的谷歌搜索出现了这个:

<强> N.B。 /告诫emptor 以下内容来自Microsoft Support site,答案是使用Perl设置IIS - 我相信它也适用于PHP,或者至少让你开始走上正轨,但我没有测试它,因为我没有IIS。

  

单击开始,单击程序,单击   单击管理工具,然后单击   互联网信息服务。   右键单击所需的网站   启用PHP,然后单击   属性。单击主目录   标签。单击配置。单击添加。   为可执行文件键入以下内容:   php.exe \ php.exe%s%s的完整路径注意   “%s%s”区分大小写(for   例如,“%S%S”不起作用)。对于   扩展名,输入.html。

     

注意确保全部动词   选项已完全选中   功能。另外,请确保   脚本引擎复选框是   选择。单击“确定”返回   主义。使用默认脚本   使用IIS的目录,URL是   以下:http:// Server   名称/脚本/的helloworld.html