如果我将以下行放在index.html
文件中,要使Apache包含index.php
文件:
<?php include("/Live/ls_client/index.php"); ?>
访问index.html
页面会向我显示:
<!--?php include("/Live/ls_client/index.php"); ?-->
为什么?为什么它实际上不包含PHP文件?
答案 0 :(得分:63)
正如其他人所说,很可能你没有设置.html
来处理php代码。
话虽如此,如果您所做的只是使用index.html
来包含index.php
,那么您的问题应该是'如何使用index.php
作为索引文档?
在这种情况下,对于Apache(httpd.conf),搜索DirectoryIndex
并用此替换该行(仅在启用dir_module
时才有效,但在大多数安装中都是默认值):
DirectoryIndex index.php
如果使用其他目录索引,请按优先顺序列出,即
DirectoryIndex index.php index.phtml index.html index.htm
答案 1 :(得分:15)
截至今天(2015年8月1日)Apache2
Debian Jessie
,您需要修改:
root@host:/etc/apache2/mods-enabled$ vi dir.conf
并更改该行的顺序,将index.php带到第一个位置:
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
答案 2 :(得分:7)
PHP仅适用于.php
文件扩展名。
如果您使用的是Apache,还可以在httpd.conf
文件中设置PHP的扩展名。你必须找到这条线:
AddType application/x-httpd-php .php .html
^^^^^
并根据需要添加应该使用PHP解释器读取的扩展数。
答案 3 :(得分:0)
您不能在扩展名为html的文件中包含php代码,而必须将index.html的扩展名更改为index.php,而另一个索引文件必须具有另一个名称,例如template.php
如果文件具有html扩展名,则Web服务器认为您的php脚本为纯文本。