将PHP代码添加到.html文件中

4

我想在我的 .html 文件中添加 php 代码。我已经搜索了很多资料,但没有找到为什么不起作用的原因。

我遵循了以下步骤:

1)在我的 htdocs 中创建了一个 .htaccess 文件。

2)添加了以下内容:

  AddType text/html .shtml .shtm .htm .html
  AddHandler application/x-httpd-php5.6 .html

3) 重新启动了我的Apache。

执行了我的页面。我的页面包含:

<?php
 echo "hello";
?>

我没有看到任何错误,也向你打个招呼。我将htaccess内容更改为:
AddType application/x-httpd-php .htm .html

此处所述,它也无法正常工作。我不知道htaccess文件是否必须包含其他元素,请告诉我。

谢谢


你测试过 .php 文件了吗?它能正常工作吗? - Octav
1
也许 AddType application/x-httpd-php5 .htm .html 可以解决问题? - Mike Rockétt
@MikeAnthony 不,我也试过了。 - Gibbs
本地主机在我的系统中无法工作?@MikeAnthony - Gibbs
操作系统?Apache和PHP版本? - Mike Rockétt
显示剩余5条评论
2个回答

1
您需要在 httpd.conf 中设置 AllowOverrideAll,或者如果您使用虚拟主机,则在您的虚拟主机文件(httpd-vhosts.conf)中设置。

否则,您的 .htaccess 文件中的指令将不被允许。

更多信息请参见:http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

更新

如果设置为 All,则可以执行以下任一操作:

取消设置处理程序并重新设置:

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

或者,使用FilesMatch
<FilesMatch "\.(htm|html|php)$">
    SetHandler application/x-httpd-php
</FilesMatch>

让我来检查一下。<Directory /> AllowOverride all Require all denied </Directory> 那个 "require all denied" 是什么意思? - Gibbs
应该是 require all granted - 这是我在我的文件中使用的... 这个文件是哪个? - Mike Rockétt
请查看我的回答中的更新。如果仍然无法正常工作,那么我可能也遗漏了一些东西... - Mike Rockétt
当我在Chrome浏览器中检查时,我的PHP代码行会自动被注释掉。它看起来像是<1--?php phpinfo(); ?--> <html></html> - Gibbs
让我们在聊天中继续这个讨论 - Mike Rockétt
显示剩余2条评论

0

尝试这个:

AddHandler application/x-httpd-php .html

还有其他问题吗?mod_mime已启用吗? - Amit Verma
要么检查httpd.conf或虚拟主机文件中的AllowOverride是否设置为All,如果其他htaccess指令未加载。 - Mike Rockétt
1
LoadModule mime_module modules/mod_mime.so已启用。但不包括mod_mime魔术。 - Gibbs
@MikeAnthony 它被设置为 None。 - Gibbs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接