| 제목 | 여러환경 처리 관련해서 질문있습니다 | ||
|---|---|---|---|
| 글쓴이 | 허니버터아몬드1 | 작성시각 | 2015/05/14 13:30:29 |
|
|
|||
|
index.php에서 ip주소 값을 받아와서 실서버 주소면 production으로 define하고 아니면 development로 설정해 두었는데요 폴더를 config밑에 development/production 으로 따로 생성하지 않고 config/database.php 파일 내부에서 현재 defined된 ENVIRONMENT값을 읽어와 db설정을 해보고 싶습니다.
if (defined('ENVIRONMENT'))
{
switch (ENVIRONMENT)
{
case 'development':
$active_group = 'default';
break;
case 'testing':
case 'production':
$active_group = 'product';
break;
}
}
$active_record = TRUE;
이런식으로 설정하고 아래 부분에 값을 만들어놨는데 mysqli_connect(): (HY000/2002): No route to host 라고 에러가 뜨네요 |
|||
| 다음글 | [재질문] admin 로그인이 안되고 있습니다. (6) | ||
| 이전글 | 특정 vhost의 log_message가 정상작동하지 ... (4) | ||
|
변종원(웅파)
/
2015/05/14 13:45:09 /
추천
0
|
|
허니버터아몬드1
/
2015/05/14 14:12:43 /
추천
0
if (defined('ENVIRONMENT'))
{
switch (ENVIRONMENT)
{
case 'development':
defined('active_group','default');
break;
case 'testing':
case 'production':
defined('active_group','product');
break;
}
}
$active_record = TRUE;
변종원(웅파) //이렇게 하라는 말씀이신가요?? A PHP Error was encountered Severity: Warning Message: defined() expects exactly 1 parameter, 2 given Filename: config/database.php Line Number: 58 이렇게 에러가 나오네요... 초보라 잘 이해가 가지 않습니다 ㅠㅜ |
|
변종원(웅파)
/
2015/05/14 15:56:32 /
추천
0
상수 선언은 index.php에서 하시면 되고 그 상수를 database.php에서 사용하는 겁니다.
상수나 변수나 똑같습니다. 값을 할당 했으면 사용을 해야겠죠. 선언하신대로라면 다음과 같이 사용하면 되고 $active_group = active_group; 상수는 대문자로 선언하고 사용하세요. $active_group = ACTIVE_GROUP; |
|
허니버터아몬드1
/
2015/05/14 16:08:59 /
추천
0
변종원(웅파)//감사합니다 ㅠ 해결했습니다
|
|
널곰
/
2015/05/17 01:34:05 /
추천
0
전 여러 도메인 사용시 이렇게 합니다.
// SITE 상수 설정
switch($_SERVER['HTTP_HOST']) {
case 'domain.com' :
case 'www.domain.com' :
define('SITE', 'domain2');
case 'domain2.com; :
case 'www.domain2.com' :
define('SITE', 'domain2');
default : // localhost, 127.0.0.1 개발용
define('SITE', 'default');
}
// 도메인에 따른 DB 기본 설정 ... database.php
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'username';
$db['default']['password'] = 'password';
$db['default']['database'] = 'dbname';
$db['default']['dbdriver'] = 'mysql';
// .......... 생략 ........
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
// .......... 생략 각 SITE 명의 DB 설정 들.........
$db['domain2']['hostname'] = 'localhost';
$db['domain2']['username'] = 'username3';
$db['domain2']['password'] = 'password3';
$db['domain2']['database'] = 'dbname3';
$db['domain2']['dbdriver'] = 'mysql';
$active_group=(defined('SITE') && array_key_exists(SITE, $db) ? SITE : 'default';
|
상수로 선언하고 database.php에서도 선언한 상수로 사용하시면 됩니다.