CI 묻고 답하기

제목 local 작업 후 서버에 올린 후 문제가 발생합니다. ㅠ
글쓴이 cp 작성시각 2015/12/08 17:30:02
댓글 : 10 추천 : 0 스크랩 : 0 조회수 : 16017   RSS
질문게시판에 비슷한 문제가 있어 찾아보았지만 답이 없어 올려봅니다.

local에서 작업하다가 호스팅 서버로 옮겼는데 database 오류가 납니다. 

오류 메세지는 

Message: mysqli::real_connect(): (HY000/2002): No connection could be made because the target machine actively refused it.

Filename: mysqli/mysqli_driver.php

이런 메세지가 뜨며 database.php 내용은 이렇게 설정 해놓았습니다. 호스팅서버에 mysql 포트를 33066 으로 

workbench 접속은 잘됩니다.

$db['default'] = array(
    'hostname' => 'localhost:33066',
    'username' => 'xxxxxxx',
    'password' => 'xxxxxxxx',
    'database' => 'xxxxxx',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    //'db_debug' => FALSEx,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

$db['pdo'] = array(
'dsn' =>'mysql:host=localhost;port=33066;dbname=xxxxxx',
'username' => 'xxxxxx',
'password' => 'xxxxxxx',
'database' => 'xxxxxx',
'dbdriver' => 'pdo'
);

local에선 db 사용도 잘되었고 문제는 없었습니다. 어디서 설정이 잘못된것인지 알수 없어 

글하나 남겨봅니다. ㅠ

>php.ini 에서 mysqli 사용할수 있게 작업은 해둔 상태입니다.

 다음글 Cookie Not Marked As Secure an... (3)
 이전글 쿼리한번만봐주세요 ㅠㅠ (5)

댓글

한대승(불의회상) / 2015/12/08 18:04:47 / 추천 0
db host를 127.0.0.1 로 바꿔 보세요.
/ 2015/12/08 18:05:50 / 추천 0
localhost:33066 << 이부분이 문제일거 같은데,
혹시 호스팅하는 서버에 mysql이 이호스트와 포트로 접속이 되나요.
확인 후에 접속이 안되면 조치하면 될거같습니다.
유형이 몇가지 생각나는데..
1. mysql 설치가 안되어있을경우 
2. 포트가 안맞을경우
3. localhost가 아닐경우 
4. user권한이 localhost 접속이 없을경우
5. localhost로 안되고 127.0.0.1로 접속 될경우
요렇게 정검해보시고 안되시면 증상을 말씀해주셔야 할거같아요.
워크벤치 접속이 잘된다는건 로컬에서 호스팅하는 컴퓨터에 접속이 잘되는건가요? 아니면 로컬 피시에 디비에 접속이 잘되는건가요?
cp / 2015/12/08 18:13:03 / 추천 0
로컬 피씨에서 호스팅되는 디피로 접속이 잘 됩니다. port 33066 으로 말이죠ㅠ

말씀해주신대로 localhost 를 127.0.0.1 이렇게 바꾸니 Message: Session: Configured save path 'C:\Windows\temp' is not writable by the PHP process. 오류 메세지가 이렇게 바뀌었습니다. 
/ 2015/12/08 18:18:54 / 추천 0
@cp . 4번 확인해 보셨나요 ?? 
cp / 2015/12/08 18:22:22 / 추천 0
4번은 권한은 다 되있는 상태로 알고 있습니다. 현재 Message: Session: Configured save path 'C:\Windows\temp' is not writable by the PHP process.
세션 폴더쪽 퍼미션을 수정하니 잘 작동합니다. 다만 제가 찾아보고 다닌 결과 localhost가 아닌 
127.0.0.1
로 접속되는 경우 올바르지 않다던데 이대로 사용해도 문제가 되지 않을까 합니다.  
/ 2015/12/08 18:23:07 / 추천 0
mysql database에 user테이블에 host컬럼확인 해보시면 될거같아요.
아마 %만 있지 싶은데 localhost 추가하면 될거같은데요...
/ 2015/12/08 18:24:39 / 추천 0
@cp 해결 된건가요 ??
cp / 2015/12/08 18:32:40 / 추천 0
@닉 ^^ 네에 해결되었습니다. 도와 주셔서 감사합니다.~ 
한대승(불의회상) / 2015/12/08 18:34:16 / 추천 0
localhost가 127.0.0.1 의 별칭 입니다. 그냥 사용하셔도 무방 합니다.
kaido / 2015/12/09 09:03:06 / 추천 0
네트워크에선 localhost 와 127.0.0.1은 동의어인데 db 권한 관련에서는 구분이 되는 걸로 기억 합니다.
테이블에 기록을 해고 비교를 해서 그런걸로...