我在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>
答案 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