PHP require / include仅在脚本中运行一次然后失败

时间:2010-05-12 15:43:53

标签: php include require

这不是问题,但它让我烦恼,我会感激任何帮助。这可能是完全明显的,但我看不到它。

$root_path = $_SERVER['DOCUMENT_ROOT'] 
require($root_path .'template/header.php')
require($root_path .'template/footer.php')

脚本将包含一个或另一个但不包括两者。它将运行并包含标题但不包括页脚,如果我将它们换成圆形,它将首先加载页脚而不是页眉。

我尝试使用include代替require,但得到的结果相同。

它给出错误allow_url_include = 0。我知道转这个会解决它,但我的问题是它为什么会发生?为什么它会包含一个文件而不包含另一个文件?有没有办法让他们在没有开启allow_url_include的情况下运行(我正在努力保持安全意识)。我有PHP 5.3,我正在运行WAMP。在此先感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

您似乎正在重新定义所包含文件中的$root_path

答案 1 :(得分:0)

在文件header.php或footer.php?

中可能更改了$root_path

答案 2 :(得分:0)

你所写的内容没有任何问题。正如其他人所说的那样,$root_path正在发生一些事情,或者脚本在它包含之前就已经终止了。

在页脚正上方var_dump($root_path)包括。如果发生这种情况,你知道它正在进入包含。如果它仍然无法正常工作,请从页脚内部做一些回声,看看它是否进入文件内部。