Linux(centOS6.8) 시스템 ThinkPHP5는 MsSQL 데이터베이스의 pdo_dblib 확장을 연결합니다
첫 번째 단계는 freetds-current.tar.gz를 다운로드하여 설치하는 것입니다. 다운로드 주소는 다음과 같습니다
ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gz
1.1 다운로드 후 압축을 풀고 폴더에 들어가세요. (사실 압축을 풀고 리눅스 서버에 업로드도 가능합니다.) wget ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gz
tar zxvf freetds-current.tar.gz
cd freetds-stable
* 압축을 푼 후 경로를 확인하세요
1.2 ./configure 실행./configure --prefix=/usr/local/freetds --with-tdsver=7.1 --enable-msdblib
1.3 make install 실행make && make install
두 번째 단계는 PHP의 pdo_dblib 확장을 설치하는 것입니다
귀하의 PHP가 /usr/local 경로에 설치되지 않은 경우 이를 귀하의 PHP 경로로 변경해야 합니다. cd /root/scr/php/ext/pdo_dblib
예를 들어, 내 PHP 설치 경로가 /www/wdlinux/apache_php-5.6.21/인 경우 /www/wdlinux/apache_php-5.6.21/bin/phpize/usr/local/php/bin/phpize
를 실행합니다.
2.3 ./configure 실행 위와 같습니다. /usr/local 경로에 php가 설치되어 있지 않다면, 자신만의 php 경로로 변경해 주어야 합니다.
예를 들어 제 php 설치 경로는 /www/wdlinux/apache_php 입니다. -5.6.21/ 그런 다음 ./configure --with-php-config=/www/wdlinux/apache_php-5.6.21/bin/php-config --with-pdo-dblib=/usr/local/freetds./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds
2.4 make install 실행
세 번째 단계는 php.ini를 수정하는 것입니다. 위와 동일합니다. php가 /usr/local 경로에 설치되어 있지 않으면 자신의 php 경로로 수정해야 합니다make && make install
예를 들어, 내 PHP 설치 경로는 /www/wdlinux/apache_php-5.6.21/
입니다.
3.1 컴파일된 파일의 경로 확인
/usr/local/php/lib/php/extensions로 이동하여 mssql.so 및 pdo_dblib.so 파일이 그 파일이나 하위 디렉터리에 있는지 확인하세요.
존재한다면 컴파일이 성공한 것입니다
3.2 php.ini
수정 후 하단에 다음 코드 추가 후 vi 수정 저장 Enter를 눌러 저장) vi /usr/local/php/etc/php.ini
extension ="/usr/local/php/lib/php/extensions/mssql.so"extension="/usr/local/php/lib/php/extensions/mssql.so"<br>
extension="/usr/local/php/lib/php/extensions/pdo_dblib.so"
Extension="/usr/local/php/lib/php/extensions/pdo_dblib.so"서버마다 코드가 다를 수 있으며 PHP 설치 및 컴파일 경로가 다릅니다extension="/www/wdlinux/apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"<br>
extension="/www/wdlinux/apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/pdo_dblib.so"
extension="/www /wdlinux /apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"service httpd restrat
Extension="/www/wdlinux/apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/pdo_dblib.so"3.3 모든 작업이 완료되면 Apache를 다시 시작합니다. 또한 재부팅을 입력하여 서버를 다시 시작할 수도 있습니다
3.4 불안하다면 php 프로브 파일을 확인하여 mssql 및 pdo_dblib가 성공적으로 설치되었는지 확인하세요
4단계 첨부파일을 다운로드하고 데이터베이스 드라이버 확장 파일을 ThinkPHP 파일에 복사하세요.
메인 프로그램의 /thinkphp/library/think/db에 파일을 넣으세요
빌더 폴더와 커넥터 폴더에 두 개의 파일이 있습니다. 두 질문은 모두 Dblib.php이지만 혼동해서는 안 됩니다.
5단계 Database.php 파일 구성 <br>return [<br>
//데이터베이스 유형<br>
'유형' => 'dblib',<br>
// 서버 주소<br>
'호스트 이름' => '192.168.1.210',<br>
// 데이터베이스 이름<br>
'데이터베이스' => 'Mikkle_WeiXin',<br>
// 사용자 이름<br>
'사용자 이름' => 'sa',<br>
//비밀번호<br>
'비밀번호' => '123123123123123',// 포트<br>
'호스트포트' => '1433',<br>
// dsn 연결<br>
'dsn' => '',<br>
//데이터베이스 연결 매개변수<br>
'매개변수' => [],<br>
//데이터베이스 인코딩의 기본값은 utf8입니다<br>
'문자 집합' => 'utf8',<br>
// 데이터베이스 테이블 접두사<br>
'접두사' => 'WeiXin_',<br>
// 데이터베이스 디버깅 모드<br>
'디버그' => 사실,<br>
// 데이터베이스 배포 방식 : 0 중앙집중형(단일 서버), 1 분산형(마스터-슬레이브 서버) <br>
'배포' => 0,<br>
// 데이터베이스 읽기와 쓰기가 분리되어 있나요? 마스터-슬레이브 방식이 유효한가요 <br>
'rw_separate' => 거짓,<br>
//읽기와 쓰기를 분리한 후의 기본 서버 수<br>
'마스터_번호' => 1,<br>
// 슬레이브 서버 일련번호 지정 <br>
'slave_no' => '',<br>
// 해당 필드가 존재하는지 엄격하게 검사할지 여부<br>
'fields_strict' => 참,<br>
//데이터 세트 반환형 array array collection Collection 객체<br>
'resultset_type' => '배열',<br>
// 타임스탬프 필드 자동 쓰기 여부<br>
'auto_timestamp' => 참,<br>
// SQL 성능 분석을 수행해야 합니까<br>
'sql_explain' => 거짓,<br>
];
자 이제 끝났습니다
Thinkphp5 Pdo_dblib 확장자.zip ( 3.16KB 다운로드: 1회)