Drupal 站點離線:連接被拒絕
我有一個昨天執行良好的本地 Drupal 6 實例。不過,今天我嘗試訪問我的網站,我們稱它為http://testsite.local>。在每個頁面上,包括<http://testsite.local/user,我都會收到此錯誤:
網站離線 由於技術問題,該網站目前無法使用。請稍後再試。感謝您的理解。
如果您是本網站的維護者,請檢查 settings.php 文件中的數據庫設置,並確保您的託管服務提供商的數據庫伺服器正在執行。如需更多幫助,請參閱手冊,或聯繫您的託管服務提供商。
請注意,這裡沒有 MySQL 錯誤。我只能找到一頁沒有此錯誤:http://testsite.local/install.php。該頁面確實包含一條錯誤消息:
無法連接到您的 MySQL 數據庫伺服器。MySQL 報告以下消息:Connection denied。
- 你確定你有正確的使用者名和密碼嗎?
- 您確定您輸入了正確的數據庫主機名嗎?
- 您確定數據庫伺服器正在執行嗎?
如需更多幫助,請參閱安裝和升級手冊。如果您不確定這些術語的含義,您可能應該聯繫您的託管服務提供商。
但是,我的其他本地站點在同一個數據庫上執行得很好,我可以使用命令行連接到數據庫。我很確定我也有正確的權限,因為過去一切正常:
$ mysql --host=localhost --user=testuser --password=testpassword testdb Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 19 Server version: 5.5.11-log Source distribution Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SHOW GRANTS FOR CURRENT_USER(); +-------------------------------------------------------------------------------------------------------------------------------------+ | Grants for testuser@localhost | +-------------------------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY PASSWORD 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' | | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES ON `testdb`.* TO 'testuser'@'localhost' | +-------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.03 sec)
我
settings.php
使用相同的憑據:$db_url = 'mysqli://testuser:testpassword@localhost/testdb';
我不知道出了什麼問題。請幫忙!
您需要仔細檢查您的伺服器是否確實在使用此
settings.php
文件。您可以使用
find
或者locate
如果您在 Linux 環境中工作。您還可以嘗試將配置文件重命名/移動到另一個位置,並查看錯誤消息是否更改。
這種類型的錯誤很可能是配置錯誤。
檢查
sites
目錄下。造成這種情況的一個常見原因可能是一個應該如下所示的目錄結構:sites/ default/ settings.php somedomain.com -> default
但這被檢查到了一個braindead SCCS(並通過一個braindead客戶端進出),因此它將符號連結視為另一個目錄,所以現在你有:
sites/ default/ settings.php somedomain.com/ settings.php
而且,當然,您可能只是在更改
default/settings.php
,因為當您不執行多站點時,這是唯一合理的更改。也就是說,這裡真正的解決方案不是修復其他 settings.php 或修復符號連結,而是簡單地刪除“somedomain.com”;它不會在您的配置中添加任何內容。我看到這種情況發生的另一種方式:一個非常非常大(500 行左右)的 settings.php 實際上有兩個
$db_url
s。第二個當然是“贏了”。談論你不認為要尋找的東西!