我有一个非常简单的网站:
index.html包含:
<html>
<body>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>
</body>
</html>
位于/ usr / share / nginx / html
footer.php位于同一目录中,并且是:
<?php
echo "<p>printed!!</p>";
?>
当我转到http://MY_IP_address/footer.php时,我得到了一个空白页面的正确输出,其中包含&#34;打印!!&#34;在左上角。
当我去http://MY_IP_address/时,我得到: &#34; 欢迎来到我的主页!
一些文字。
更多文字。 &#34;
但我没有得到&#34;打印!!&#34;写在任何地方。
我假设某个地方我错过了配置文件中的某些内容,但我无法弄清楚它是什么。
答案 0 :(得分:3)
包含include()
的文件是扩展名为.html
的文件,因此它不会被Apache解释。因此,index.html
中的代码未包括在内。 (致@RiggsFolly获得改进的解释)
除非您的服务器设置为以PHP格式解析.html
个文件,否则它将不会包含在内。
因此,您需要将其重命名为index.php
。
PHP中的
include()
函数包含来自其他PHP文件的代码,并将它们复制到使用include语句的文件中。
来源:
答案 1 :(得分:1)
Php标签(<?php ?>
)只能在文件扩展名为php时进行解析。
所以,
将文件名从index.html
更改为index.php