2012-03-13 29 views
0

我正在將Magento從一臺服務器遷移到另一臺服務器。 我創建了local.xml文件,但Magento保持重定向安裝頁面。Magento:哪個文件檢測到local.xml?

我也有做一些所有者/組的問題做SVN結帳,所以我懷疑Magento無法讀取local.xml

問題:腳本的哪個文件/部分執行local.xml的檢測,所以我可以模擬是否可以訪問相同環境local.xml

感謝

回答

2

當然,解決您的權限問題是關鍵。所有文件都應該由rwx運行的PHP實例運行的同一用戶擁有。

您可以通過臨時測試:

chmod -R 777 /path/to/my/magento/store/* 

還要確保遷移存儲時刷新以下目錄作爲理所當然的事:

./var/cache/* 
./var/session/* 

要回答你的問題,local.xml中是在./app/Mage.php中讀取的,在下列函數的+640行左右:

public static function isInstalled($options = array()) 
{ 
    if (self::$_isInstalled === null) { 
     self::setRoot(); 

     if (is_string($options)) { 
      $options = array('etc_dir' => $options); 
     } 
     $etcDir = 'etc'; 
     if (!empty($options['etc_dir'])) { 
      $etcDir = $options['etc_dir']; 
     } 
     $localConfigFile = self::getRoot() . DS . $etcDir . DS . 'local.xml'; 

     self::$_isInstalled = false; 

     if (is_readable($localConfigFile)) { 
      $localConfig = simplexml_load_file($localConfigFile); 
      date_default_timezone_set('UTC'); 
      if (($date = $localConfig->global->install->date) && strtotime($date)) { 
       self::$_isInstalled = true; 
      } 
     } 
    } 
    return self::$_isInstalled; 
} 
+0

謝謝@sonassi。我發現了這個問題。 'simplexml_load_file($ localConfigFile);'返回false。 Simplexml模塊也加載在我的服務器上。找不到解決方案。 – 2012-03-14 01:24:25

+0

找到了。開幕式上缺少問號。 – 2012-03-14 02:07:24

0

您不需要創建新服務器的任何單獨的「local.xml」文件。複製舊「local.xml」到新的Web服務器,然後編輯該文件來更改這些下列變量到新的Web服務器的值: -

  • host //新數據庫主機名,如「localhost」或其他值提供給您的新的Web服務器的數據庫
  • username //新建數據庫用戶名
  • password //新建數據庫密碼
  • dbname //新的數據庫名稱

更改上述節點的「local.xml」文件中的值後,請保存它。

同時刪除完整的「var」文件夾,然後開始爲遷移的Magento使用新的Web服務器。

希望它有幫助。