ubuntu上的Apache 2服务器可以';t解析html文件中的php代码


Apache 2 server on ubuntu can't parse php code inside html file

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

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

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

代码示例:

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

开始工作了。我的apache版本没有httpd.conf,而是在/etc/apache2/mods-enabled/ 中有php5.conf

编辑该文件,发现这个:

<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 ... ?>代码就可以工作了。

您可能可以在/etc/conf/httpd/httpd.conf 下进行检查

或者,您可能希望使用"find"命令,或者运行"updatedb",然后运行"locate httpd.conf"文件。

问题是,除非在httpd.conf中添加正确的指令,否则php文件将呈现为纯文本文件。因此,您将不得不加载模块&amp;AddType以使其运行。

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

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

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

在文件中添加以下行:

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

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

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

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

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

这对我很有效。ThxLukjar