我正在尝试设置automated testing on Silverstripe!在CPanel。当我在url中运行任何测试时(对于我的情况,它是DOMAIN / dev / tests / AggregateTest),它说
致命错误:无法运行查询:CREATE DATABASE
tmpdb2605857
拒绝用户访问 'todaytes_root'@'localhost'到数据库'tmpdb2605857'中 第525行/home/todaytes/public_html/sapphire/core/model/MySQLDatabase.php
每次执行测试时,Silverstripe都会创建一个随机命名的数据库,并在测试完成后将其销毁。
从cPanel的“数据库”菜单中,我只允许手动添加数据库和用户的一些前缀名称(在我的例子中,我的所有数据库和用户都以todaytes_开头)。如何配置cPanel / WHM以向用户授予权限,以便Silverstripe Automated Test可以正常工作?
答案 0 :(得分:0)
cPanel用户无权使用随机名称创建数据库。从cPanel创建的数据库始终具有前缀“username _”
如果您具有服务器的root访问权限,则可以使用MySQL root用户名和密码来执行此操作。您可以从文件/root/.my.cnf
获取MySQL root用户名和密码答案 1 :(得分:0)
几点:
SS_DATABASE_PREFIX
文件中定义_ss_environment.php
,将其设置为“username_”。这将影响使用的临时数据库的名称。SapphireTest::create_temp_db()
。