티스토리 뷰

ci db 드라이버중에 mssql이 있습니다 근데 php7부터는 mssql_connect() 이 함수가 삭제되고 다른 함수들로 교체 교체되었습니다.

https://github.com/bcit-ci/CodeIgniter/issues/4074

이글을보면 ci3에는 이미 sqlsrv와 pdo가 있다고 나와있습니다. 어떻게 하는지도 알려주면 좋을텐데...

검색해보다 아래글을 발견했습니다.

http://stackoverflow.com/questions/34377338/linux-php-7-0-and-mssql-microsoft-sql

결론은 제일 밑에 echo로 extextion등록은 안하셔도 될꺼같아요..;

centos7내용을 그대로 따라 설치 하고 마지막 extention 까지 등록합니다.

하고나면

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/sqlsrv' - /usr/lib64/php/modules/sqlsrv: cannot open shared object file: No such file or directory in Unknown on line 0PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_sqlsrv' - /usr/lib64/php/modules/pdo_sqlsrv: cannot open shared object file: No such file or directory in Unknown on line 0

php.ini 마지막줄에 extension= 두줄이 들어가는데 실제 파일 생성은 뒤에 so가 붙어서 들어갑니다.

.so를 붙혀서 수정을 하고 php를 다시 실행해도 오류가 나서 결국엔 두줄은 주석처리했습니다.

쉘상에서 sqlcmd로 DB서버를 원격으로 연결해서 정상 연결이 된다면 CI에서도 연결되실껍니다.

참고로 5.4로 내려서 mssql쓰면 한글이 깨져나오는데 7에서 sqlsrv는 한글도 정상적으로 표시됩니다.


https://docs.microsoft.com/en-us/sql/connect/odbc/linux/installing-the-microsoft-odbc-driver-for-sql-server-on-linux

이건 ODBC설치

댓글