2012-03-31 2 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의 "databases"메뉴에서 데이터베이스와 사용자를 수동으로 추가 할 수 있습니다. (필자의 모든 데이터베이스와 사용자는 todaytes_로 시작합니다.) SilverStripe Automated Test가 잘 작동하도록 사용자에게 권한을 부여하기 위해 cPanel/WHM을 어떻게 구성합니까?

답변

0

cPanel 사용자는 임의의 이름으로 데이터베이스를 만들 수있는 권한이 없습니다. cPanel에서 생성 된 데이터베이스는 항상 "username_"접두어가 붙습니다.

서버에 대한 루트 액세스 권한이 있으면 MySQL 루트 사용자 이름과 암호를 사용하여이 작업을 수행 할 수 있습니다. 당신은

+0

안녕하세요, 저는 서버에 대한 루트 액세스 권한이 있습니다. 어떻게해야할까요? MySQL 루트 사용자 이름과 암호를 사용하여 어떻게해야합니까? – Joe

0

몇 점 /root/.my.cnf 파일에서 MySQL의 루트 사용자 이름과 암호를 얻을 수 있습니다 :

  • 당신을 "username_"으로 설정, 당신의 _ss_environment.php 파일에 SS_DATABASE_PREFIX을 정의 할 수 있습니다. 이것은 사용 된 임시 db의 이름에 영향을 미칩니다.
  • 임의의 데이터베이스 이름을 사용하지 않으려면 SapphireTest::create_temp_db()을 수정할 수 있습니다.