Call to undefined function: mssql_connect()
페이지 정보
작성자 서방님 댓글 0건 조회 104회 작성일 12-10-24 17:45본문
php와 mssql 연동할때마다 괴롭히는 mssql_connect 문제.
저번엔 apache에서 났는데 이번엔 IIS다. 쿨럭.
www.helpspot.com 포럼에서 The most common issue 라는 Microsoft SQL Server connection Truoubles 이슈 문제 글
http://www.helpspot.com/helpdesk/index.php?pg=kb.page&id=13
같은 php.ini 을 사용하고 있고 ntwdblib.dll도 확인햇는데 왜 apache는 인식하고 IIS는 인식 못할까?
이상하네 ..... 뭘 놓친거지? IIS에서는 따로 설정을 더 해줘야하는건가?
밑에글은 펌
-----------------------------------------------------------
Fatal error: Call to undefined function: mssql_connect()
이러한 오류 메시지가 뜬다면 mssql 함수를 불러오지 못하는 경우 인데 이부분을 간단히 해결 할 수 있다.
php.ini 에서
extension_dir 가 제대로 되어 있는지 확인한다 extensions 폴더안에 php_mssql.dll 파일이 들어 있다.
ex)
extension_dir = "C:/PHP_Setup_for_IIS/PHP4/extensions"
;extension=php_mssql.dll -> extension=php_mssql.dll 풀어주면 해결된다..
php.ini 가 윈도우 폴더에 있다면 윈도우에 있는 php.ini 를 수정 하면된다..
서비스 재시작
이와 같이 셋팅 했는데도 계속
Fatal error: Call to undefined function: mssql_connect() 함수를 찾지 못한다고 뜨는 경우가 있습니다. 요거 해결할라고 반나절 정도 고생했네요 ^^;;
해결방법
1. C:\WINDOWS\system32 안에 있을지 모르는 php.ini 파일이나 php_mssql.dll 파일 있다면 우선은 삭제한다.
2. C:\WINDOWS\system32 안에 ntwdblib.dll 파일이 있다면 버전을 확인 확인 해봐야 하는데.
->해당 DLL 을 선택하고 마우스 오른쪽 클릭 - 속성을 통해 확인할 수 있는 버전이 "2000.80.194.0" 이 아니라면 우선은 삭제한다. 또는 버전이 "2000.80.194.0" 일찌라도 mssql_connect()함수를 못 불러 온다면 우선은 system32 폴더 안에 있는 ntwdblib.dll를 우선은 삭제 한다.
3. 서비스 재시작
-> 서비스 재시작 했는데도 계속 해서 Fatal error: Call to undefined function: mssql_connect() 메시지가 뜬다면 서버를 재부팅 한다.
여기까지 해보면 mssql_connect() 함수가 재대로 동작 합니다. phpinfo() 에서 확인 해보면 mssql 이 재대로 올라왔음을 확인 할수 있습니다. 하지만 mssql_connect() 함수는 재대로 동작하나 DB에 접속이 안될 겁니다.
이런 경우는 C:\WINDOWS\system32 안에 ntwdblib.dll 이 없거나 버전이 낮아서 컨넥션이 안되는 것입니다.
접속하려는 mssql 2005 이상 이라면 ntwdblib.dll 파일 버전은 "2000.80.194.0" 이상이 되어야 연결이 됩니다.
파일이 없다면 첨부파일을 다운 받아서 C:\WINDOWS\system32 안에 넣으시고~
서비스 재시작 또는 재부팅 하시면 원활하게 동작 될겁니다. ㅋ
댓글목록
등록된 댓글이 없습니다.