2011-09-08 40 views
0

我已經在ubuntu服務器中安裝了LAMP。及其工作良好..我有具有文件夾結構的根文件夾具有PHP包含在ubuntu服務器中運行燈

  • 的index.php
  • {數據庫}
    • localhost.php
  • {模塊PHP應用程序}
    • module1.php
    • module2.php
    • module3.php
    • {單詞數}
      • submod1.php
      • submod2.php
基於_GET

模塊通過

列入的index.php
include('Modules/module2.php'); 

哪個工作得很好.. b UT在module1.php當我嘗試通過

include('/Database/localhost.php'); 

它不工作了,包括localhost.php。這是爲什麼它不工作..

注意:相同的代碼完全在WAMP在我的Windows 7,

+0

你知道嗎include('/ Database/localhost.php');會嘗試包含在服務器文件系統的/ Database目錄中包含的localhost.php? – heximal

+0

@heximal如果這是由於別名我檢查了它的別名已被配置爲/圖標/ phpMyadmin獨自.. –

回答

2

您在「數據庫」

+0

是的..它在Windows 7中工作..我添加了一個斜槓,因爲它包含在模塊文件中。 –

+0

它會嘗試在文件系統的根目錄下查找文件。相反,您需要在包含路徑上放置數據庫路徑或使用相對路徑。 –

+0

我刪除了斜線..它現在運行良好..但是爲什麼燈和wamp正在以不同的方式執行它......即使斜線的存在,它在wamp中運行良好..爲什麼燈不同? –

2
include('/Database/localhost.php'); 

前斜線前面有一個斜槓/數據庫/不應該在那裏,因爲PHP試圖從/(根文件夾)中找到該文件。

通常最好是有一個限定的起始路徑點,如:

define('DS', '/'); //Directory separator Unix 
define('BASE_PATH', dirname(__FILE__).DS); 

,然後將所有其他包含的文件使用它作爲基礎。

+0

我不這麼認爲module3.php我可以很容易地通過include('MODULE3/submod2.php')包含它的子模塊;'這很好運行.. –

+0

...只是改變這個:include('/ Database/localhost.php');進入這個:include('../ Database/localhost.php'); – cephuo