PHP脚本无法在HTML文件中运行

时间:2010-02-04 09:52:38

标签: php xampp

我是PHP的新手。我安装了XAMPP并运行了Apache。我在XAMPP的htdocs中创建了helloworld.php,并在我的浏览器中显示了PHP。我的问题是,为什么我的HTML文件中的PHP脚本不会显示在浏览器中?我从未安装过PHP。我也应该安装吗?它会与XAMPP发生冲突吗?我的代码如下。任何帮助将不胜感激。提前致谢:

<html>
    <body>
        <?php
            echo "Hello PHP World";
        ?>
    </body>
</html>

6 个答案:

答案 0 :(得分:15)

我假设您正在尝试在.html文件中使用php? 尝试使用以下行添加.htaccess文件或更改apache配置:

AddHandler application/x-httpd-php .html

答案 1 :(得分:12)

XAMPP已包含PHP,但除非您使用.php结束脚本名称,否则PHP引擎不太可能处理它。

答案 2 :(得分:8)

停止apache服务,然后在c:\ xampp \ apache \ conf \ httpd.conf中添加一个更改,添加...

AddType application/x-httpd-php .html .htm  

重启apache!

对于32位的胜利,这在当前的xampp发行版中看起来像是一个很大的“功能”。

答案 3 :(得分:5)

apache的php模块将自己注册为mime类型application/x-httpd-php的处理程序。配置文件apache \ conf \ extra \ httpd-xampp.conf包含行

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>

告诉apache所有具有.php作为名称扩展名的文件都是由 application / x-httpd-php 的处理程序处理。
如果你(真的)想要你的.html文件由php模块处理,你必须为.html扩展添加类似的东西。 (还有其他方法告诉apache哪个扩展名映射到哪个mime类型/处理程序。但是FilesMatch / SetHandler没问题。)
如果要仅为一个目录启用此“功能”,可以使用.htaccess file更改该目录(及其子目录)的配置。

答案 4 :(得分:5)

你应该在http conf添加mime类型 例如在httpd.conf中的apache中 条目

<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig "conf/mime.types"
   .......
    AddType application/x-httpd-php .html .htm
   AddType text/html .shtml

    AddOutputFilter INCLUDES .shtml
</IfModule>

答案 5 :(得分:0)

太多矫枉过正。所有这些建议都让我走错了路5个小时。 JK,但我确实阅读了很多谷歌搜索项目都给出了错误的答案,每个建议只是添加了更多的错误答案。

答案实际上是如此简单,你可能想要大声疾呼:只需更改文件扩展名为&#34; .html&#34;到&#34; .php&#34; !!!请记住,你可以完全用PHP构建一个网页,所有JavaScript和基于JavaScript的东西,如JQuery,bootstrap等都可以工作。

以下是一个简单的证明示例:

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Blank Web Page</title>

    <link rel="stylesheet" type="text/css" href="css/css.css">

</head>

<body>

    <?php

    $son = 5;
    $nos =10;

    echo $son + $nos;

    ?>

    <h4>test to see if this html element can be output too!</h4>

    <script type="text/javascript" src="js/js.js"></script>

</body>

请注意,我正在使用您的标准html,即使它没有显示我的HTML标签(相信我在那里),网页内容并且插入了PHP代码。当然结果是15,html元素h4也正确呈现。将扩展名更改回&#34; html&#34;并且您将只获得h4元素,并且您会发现您的PHP代码已使用多注释为html注释掉。

我忘了补充说这也适用于Xampp。