PHP 용 MS-SQL Driver 설치(Linux, OSX)
RHEL
PHP 8.0 기준입니다.
PECL 에서 설치
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/30-pdo_sqlsrv.ini
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/20-sqlsrv.ini
exit
BASH
REMI 저장소에서 설치(권장)
$ sudo yum install php80-php-sqlsrv
BASH
설치 여부 확인
$ php -r "phpinfo();" |grep sqlsrv
/etc/opt/remi/php80/php.d/40-sqlsrv.ini,
Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, compress.bzip2, phar, zip, sqlsrv
PDO drivers => mysql, sqlite, sqlsrv
pdo_sqlsrv
pdo_sqlsrv support => enabled
pdo_sqlsrv.client_buffer_max_kb_size => 10240 => 10240
pdo_sqlsrv.log_severity => 0 => 0
pdo_sqlsrv.report_additional_errors => 1 => 1
pdo_sqlsrv.set_locale_info => 2 => 2
BASH
설치후 PHP-FPM 재구동
$ sudo systemctl restart php80-php-fpm
BASH
Ubuntu
사전에 PHP 와 PEAR 패키지 설치 필요
sudo apt install php-pear php-dev
BASH
의존성 있는 ODBC Driver 를 먼저 설치합니다. 다음은 ubuntu 20.04 용 설치 스크립트인데 다른 버전일 경우 MS 문서 를 참고합니다.
Click here to expand...
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Ubuntu 20.04
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# for unixODBC development headers
sudo apt-get install -y unixodbc-dev
BASH
PERL config 를 설정합니다.
sudo pecl config-set php_ini /etc/php/8.0/fpm/php.ini
BASH
SQL Server 드라이버와 PDO 드라이버를 설치합니다.
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
BASH
extension ini 파일을 생성합니다.
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.0/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.0/mods-available/pdo_sqlsrv.ini
exit
BASH
extension 을 활성화합니다.
sudo phpenmod -v 8.0 sqlsrv pdo_sqlsrv
BASH
sqlsrv.ini 와 pdo_sqlsrv.ini
가 있는지 확인
ls /etc/php/8.0/fpm/conf.d/*sqlsrv.ini
CODE
PHP-FPM 재구동
systemctl status php8.0-fpm
CODE