2011-10-30 121 views
0

我在XAMPP環境中創建了Drupal網站,但希望在MAMP環境中進一步開發它。也就是說,不會丟失我已經添加的所有內容。我改變了的settings.php文件中像這樣將Drupal站點從XAMPP遷移到MAMP

$databases = array (
    'default' => 
    array (
    'default' => 
    array (
     'database' => 'drupal', 
     'username' => 'root', 
     'password' => 'root', 
     'host' => 'localhost:8889', 
     'port' => '', 
     'driver' => 'mysql', 
     'prefix' => '', 
    ), 
), 
); 

但我得到的錯誤:

PDOException:SQLSTATE [HY000] [2005]未知MySQL服務器主機的 'localhost:8889'(2)lock_may_be_available( )(/Applications/MAMP/htdocs/kooknet2/includes/lock.inc的第164行)。

有誰知道我該如何解決這個問題?謝謝!

回答

0

這是一個小錯誤,你已經有端口作爲你的主機字符串的一部分(:8889),當你應該將它添加到實際上說的數組鍵port。試試這個:

$databases = array (
    'default' => array (
     'database' => 'drupal', 
     'username' => 'root', 
     'password' => 'root', 
     'host' => 'localhost', 
     'port' => '8889', 
     'driver' => 'mysql', 
     'prefix' => '', 
    ), 
), 
); 
+0

這將修復PDO錯誤,但它可能無法解決在xampp和mamp之間移動的根本問題。他們每個人都使用不同的mysql實例,所以你將無法連接到mamp的xampp mysql db(除非你在同一時間和不同的端口上同時運行它們,但是這樣做會影響目的) – messedup

0

如果您有本地MySQL服務器,請從控制檯登錄到它,請檢查用戶傳遞端口。它看到,你沒有在8899端口的MySQL實例

0

我會建議使用backup and migrate module抓住你的數據庫的副本。然後在mamp上(使用新的db/install)設置您的站點,並使用BAM從備份中恢復。

如果您使用的是相同的文件路徑,則不應該擔心其他任何步驟,否則您可能需要複製/移動文件目錄,並在drupal界面中重新配置文件路徑設置。 (也可能需要注意,內部節點內部內容的任何鏈接也可能需要調整,以便路徑正確)