2012-03-31 38 views
0

我想設置automated testing on Silverstripe!在CPanel中。當我跑到任何URL測試(我的情況下,它是DOMAIN的/ dev /測試/ AggregateTest),它說如何允許用戶在Cpanel中創建隨機數據庫的權限(Silverstripe)

Fatal error: Couldn't run query: CREATE DATABASE tmpdb2605857 Access denied for user 'todaytes_root'@'localhost' to database 'tmpdb2605857' in /home/todaytes/public_html/sapphire/core/model/MySQLDatabase.php on line 525

Silverstripe將創建一個隨機命名的數據庫,每一個測試執行的時間,之後摧毀它測試完成。

從cPanel中的「數據庫」菜單中,我只允許手動添加數據庫和用戶的一些前綴名稱(在我的情況下,我的所有數據庫和用戶都以todaytes_開頭)。如何配置cPanel/WHM爲用戶授予權限,以便Silverstripe自動測試可以正常工作?

回答

0

cPanel用戶無權訪問使用隨機名稱創建數據庫。從cPanel創建的數據庫始終具有前綴「username_」

如果您具有對服務器的根訪問權,那麼您可以使用MySQL根用戶名和密碼來執行此操作。你可以從文件中MySQL的root用戶名和密碼/root/.my.cnf

+0

嗨,我有根服務器的訪問權限。我如何繼續並使用MySQL根用戶名和密碼來執行此操作? – Joe 2012-04-10 22:50:35

0

的幾點:

  • 您可以在_ss_environment.php文件中定義SS_DATABASE_PREFIX,將其設置爲「username_」。這將影響所使用的臨時數據庫的名稱。
  • 如果您不想使用隨機數據庫名稱,則可以修改SapphireTest::create_temp_db()
相關問題