2009-02-11 143 views
0
Warning: include(/2008/2009/assets/inc/base/error.inc.php) [function.include]: 
failed to open stream: No such file or directory in 
C:\Program Files\Apache Group\Apache2\htdocs\2008\2009\assets\inc\base\header.inc.php on line 82 

在WAMP設置中包含文件時,我收到上述錯誤。 Windows有可能將/ 2008 /解釋爲c:/ 2008而不是實際的http://localhost/2008包含警告:找不到正確路徑中的文件?

爲了給出更多的細節,我有一個常量定義爲ROOT,我在我的網站上使用了所有。 (在這種情況下ROOT設置爲/ 2008/2009 /)。我在圖像,鏈接,css文件,包含/需要文件等的路徑之前使用ROOT。CSS和鏈接正確縮放到localhost/2008/2009,但包含文件未找到。

任何幫助將不勝感激。

PS的php.ini具有包括路徑定義爲:

include_path = C:\Program Files\Apache Group\Apache2\htdocs" 

更新

我用URL重寫改變項目/ x至項-ID Display.php的= X,這文件夾中的更改是ROOT的基礎。這使任何東西顯示到瀏覽器(imgs,鏈接等)完美的工作,但任何東西內部不工作,因爲item-display.php實際上是一個文件夾。我將item-display.php移動到一個項目文件夾中,這使得客戶端和服務器端的操作保持一致。

回答

3

您正在使用絕對路徑而不是相對路徑。

+0

我以爲絕對路徑在包含中是可以接受的嗎? – 2009-02-11 14:07:38

+0

他們被接受,但只是「固定值」。所以他們不使用包含路徑解決,因爲它們已經是絕對的了。 – Gumbo 2009-02-11 14:31:07

0

如果您使用的是包含路徑,則必須指定一個相對URL,從第一個目錄或./開始。順便說一句,你應該在文件中定義你的路徑,如dirname(__FILE__),這個文件的位置不會改變,或者通過查看服務器。否則,在另一臺服務器上安裝應用程序會變得不必要的複雜。

相關問題