2013-06-30 51 views
0

我正在使用yii來開發一個應用程序。我希望在服務器上有1個代碼庫,並將該代碼指向一個不同的數據庫,具體取決於是否在子域中。所有數據庫將是相同的。Yii多個數據庫一個代碼庫

我有幾頁在我的主要網站上;例如。 www.test.com指向主數據庫,當用戶登錄時,將它們指向子域,現在使用新的連接字符串,以便代碼正常工作。

有人可以幫我解決我需要做什麼來完成這個請。我在登錄屏幕上有一個文本框,上面寫着「輸入您的關鍵字」,因此它可能是一艘船,例如代碼最終將它們拍到「boat.test.com」。然後從那裏如何使它與該客戶端的某些特定文件一起工作?

任何幫助將不勝感激!在此先感謝

回答

2

如果您使用LAMP堆棧,則可以相當容易地進行設置。方法如下:

  1. 將應用程序移出文檔根目錄。
  2. 創建多個文檔根,每個域一個。
  3. 每個文檔根目錄應該具有到任何資產目錄的符號鏈接,或者可以從域中訪問的其他任何需要相同的鏈接。也許資產,和JS。如果每個域需要不同的外觀和感覺,css和圖像可能需要是本地的。
  4. 爲每個域設置不同的虛擬主機。
  5. 您的index.php需要每個域都有所不同,以爲每個域指定它自己的配置文件。
  6. 爲每個域創建一個單獨的配置文件,這將允許您提供本地化的數據庫配置信息。
  7. 您可以將本地化配置與常用配置合併,以便不必重複整個main.php。

在Windows下,您可以做同樣的事情,但是一旦將應用程序移出文檔根目錄,仍然需要複製文檔根目錄中的所有內容。

這是一個有趣的頁面閱讀:http://www.yiiframework.com/wiki/116/moving-project-code-outside-of-webroot-plus-multiple-project-support/

+0

我做了它的一半,其餘的幫助我對我的方式,謝謝。 – Adam

相關問題