PHP文件没有在include语句中执行

时间:2016-04-04 09:34:01

标签: php nginx

我有一个非常简单的网站:

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;写在任何地方。

我假设某个地方我错过了配置文件中的某些内容,但我无法弄清楚它是什么。

2 个答案:

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