index.php不';t仅在第一次调用时显示页眉或页脚

index.php不';t仅在第一次调用时显示页眉或页脚,php,html,include,Php,Html,Include,奇怪的问题:在第一次调用我的测试主页时,它既不显示页眉也不显示页脚(有时甚至不显示页眉)。代码如下: <body> <div id="wrapper" class="hfeed"> <?php include ("/titlebar.inc"); ?> <main id="content"> Main page goes here </main>

奇怪的问题:在第一次调用我的测试主页时,它既不显示页眉也不显示页脚(有时甚至不显示页眉)。代码如下:

  <body>
    <div id="wrapper" class="hfeed">
       <?php include ("/titlebar.inc"); ?>
       <main id="content">
            Main page goes here
       </main>
       <?php include ("/footer.inc"); ?>
    </div>
 </body>

主页在这里
如果我改为调用,然后单击home,它也会在主目录中调用index.php,那么页面看起来应该是这样的。 我首先怀疑这是一个目录问题,所以我在不同的地方插入了getcwd调用,但它总是在应该在的目录中。另外,它在我的XAMPP本地运行良好,这种行为仅在在线服务器上


以前有人遇到过类似的情况吗?

以斜杠开头的include路径
/
表示根目录,因此在本例中,我打赌这就是您的硬盘根目录。尝试将实际文档根分配给变量,并将其与包含项或要求项一起使用:

$root = $_SERVER['DOCUMENT_ROOT'];
include ($root."/titlebar.inc");

显然,
titlebar.inc
必须位于当前项目根目录中。

这些路径可能是错误的。include在文件系统级别工作,因此您试图包含文件系统根目录下的文件,而不是站点的文档根目录下的文件。唯一的例外是,如果你的网站在chroot监狱内运行…@MarcB我真想知道它在本地是如何工作的。我的意思是,他可能没有把网站放在他的文件系统的根目录中,或者它必须放在根目录中吗?试着用
require
而不是
include
,它至少会在一些调试信息下正常运行,也可以用
\uuu DIR\uuuuu
我无法重现你所说的内容。在打开PHP标记后立即将错误报告添加到文件顶部,例如
ok,服务器似乎将include\u路径设置为一个奇怪的值-我将在其中放置一个set\u include\u路径,看看发生了什么-谢谢!注意:实际上,include_路径位于htdocs的一个子目录中,但不知道为什么XAMPP和Strato服务器在那里的行为不同。哦,好吧,修好了:-)不客气