TIP게시판

제목 [1원] 윈도우서버+mssql 에서 CLI(Command Line Interface) 사용시 DB접속이 안되는 문제해결 방법
글쓴이 터프키드 작성시각 2011/11/29 12:15:59
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 18328   RSS
그야말로 1원이네요.
제가 질문했던 글의 자답입니다
http://codeigniter-kr.org/qna/view/5503/page/1/

CLI 에서 실행 시 DB 접속에러가 납니다. /system/database/driver/mssql_driver.php 에서
db_connect() 함수에 @mssql_connect 에서 함수를 찾을 수 없다는 오류가 나는데요
결국 CI문제는 아니고 환경의 문제였네요.

분명 php.ini 파일에는 mssql 모듈을 올렸습니다

문제는
cli 시에는 php.ini 패스가 다르다는 점입니다. (다른 php.ini 를 읽음)
php -i | grep 'Configuration File'
로 체크 하니
Configuration File (php.ini) Path => C:\Windows
Loaded Configuration File => (none)
이라고 나옵니다

위에 것은 콘피그파일을 읽을 패스고 아래는 실제 로드된 ini 파일입니다.

글은 길게 썼지만,
간단하게 말해 어딘가에 있는 php.ini 파일을 윗줄의 패스에 넣어주시면 해결 됩니다.

윈도우에서 아마 APM_Setup, XAMPP 등 패키지를 사용할 경우가 많으실텐데
그럴때 php.ini 파일은 해당 패키지 안쪽에 있어 CLI에서 로딩할 수 없었던 문제였습니다

같은 문제로 고생하시는 분들에게 도움이 되셨길..
(아마 윈도우 환경변수 설정으로도 가능할 것 같네요..)

 다음글 .svn 폴더 삭제 하기 (7)
 이전글 Form_validation 라이브러리 less_tha... (2)

댓글

변종원(웅파) / 2011/11/29 16:05:03 / 추천 0
 환경변수 문제였네요. 리눅스에 설치할 경우 php.ini 위치가 등록되니 이상없이 실행이 됐던거네요.
윈도우는 환경변수를 등록해줘야 하는거구요.
터프키드 / 2011/11/30 12:10:16 / 추천 0
@웅파 넵, 윈도에서 개발을 몇번 해보긴 했는데 이런 경우는 처음이어서, 환경변수 생각을 못했네요ㅎㅎ (그래도 전 리눅스가 편하다는..ㅠㅠ)