ubuntu上的Apache 2服务器无法解析html文件中的php代码

时间:2013-07-05 19:04:01

标签: php ubuntu apache2

我在Ubuntu 13.04上安装了apache2,php5和php5 apache模块。

Php正在处理.php文件,但html文件中的php代码行不会执行。

谷歌搜索我发现必须向httpd.conf添加AddHandler...AddType...行,但安装的版本没有此文件,或者至少在/etc/apache2/ <找不到它/ p>

代码示例:

<html>
<head></head>
<body>
    <?php 
      phpinfo(); 
    ?>
</body>
</html>

4 个答案:

答案 0 :(得分:7)

让它发挥作用。我的apache版本没有httpd.conf,而php5.conf中有/etc/apache2/mods-enabled/

编辑该文件,发现:

<FilesMatch ".+\.ph(p[345]?|t|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".+\.phps$">
    SetHandler applicatio
    ....
....

添加了以下几行:

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

现在php解析html文件,<?php ... ?>代码可以正常工作。

答案 1 :(得分:2)

您可以在/etc/conf/httpd/httpd.conf下查看

或者你可能想要使用'find'命令或运行'updatedb'然后'locate httpd.conf'文件。

问题是除非你在httpd.conf中添加正确的指令 - 你的php文件将呈现为纯文本文件。因此,您必须使用LoadModule&amp;&amp; AddType让它运行。

答案 2 :(得分:2)

您可以使用.htaccess配置文件。

创建一个空白文本文件并将其命名为 .htaccess

(如果您的操作系统不允许以点开头的文件名,请暂时将文件命名为 temp.htaccess 。将文件上传到服务器后,将文件重命名为。 htaccess的

将以下行添加到文件中:

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

如果这不起作用,请尝试将其更改为:

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

这假设你的apache配置允许.htaccess文件覆盖默认设置。

答案 3 :(得分:0)

在/etc/apache2/mods-available/php7.0.conf中添加以下行     SetHandler应用程序/ x-httpd-php

这对我有用。 谢谢 Lukjar