1

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

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

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

代码示例:

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

4 回答 4

8

让它工作。我的 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 ... ?>代码工作。

于 2013-07-07T03:04:06.023 回答
2

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

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

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

将以下行添加到文件中:

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

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

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

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

于 2013-07-05T20:01:50.643 回答
2

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

或者,您可能想要使用“find”命令或运行“updatedb”,然后运行“locate httpd.conf”文件。

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

于 2013-07-05T19:20:57.770 回答
0

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

这对我有用。谢谢卢克贾尔

于 2017-02-03T17:13:07.277 回答