我在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文件将呈现为纯文本文件。因此,您将不得不加载模块&;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