2010-05-12 70 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)右頁腳上面包含。如果發生這種情況,你知道它正在進入包含。如果它仍然不起作用,請在腳註內部做一些回聲,看它是否進入文件內部。

相關問題