2010-05-12 67 views
2

这不是问题,但它会扰乱我,我很感激任何帮助。这可能是非常明显的,但我看不到它。PHP require/include只能在脚本中运行一次,然后失败

$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。在此先感谢您的帮助!

+0

发布展示问题的最小代码。 – 2010-05-12 15:46:10

+0

你能告诉我们确切的代码吗? – ryeguy 2010-05-12 15:46:19

+0

请附上代码示例。文件中是否有任何函数,类,常量?或者它们是否包含任何包含这些定义的文件? (重新定义它们可能是问题)什么是错误信息? – erenon 2010-05-12 15:47:43

回答

0

也许$root_path在文件的header.php或footer.php改变?

0

看起来就像你重新定义包含文件$root_path

0

你写的东西没有什么问题。正如其他人所说的,$root_path正在发生某些事情,或者脚本在达到包含之前终止。

做一个var_dump($root_path)右页脚上面包含。如果发生这种情况,你知道它正在进入包含。如果它仍然不起作用,请在脚注内部做一些回声,看它是否进入文件内部。

相关问题