官方的sqlsrv的拓展在Linux下只支持php7,无奈,只好选择mssql了,下面开始安装mssql的拓展
安装FreeTDS
FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库,是TDS(表列数据流 )协议的再次实现# 下载FreeTDS
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.tar.gz
# 解压文件
tar axf freetds-1.00.tar.gz
# 编译安装
cd freetds-1.00
./configure --prefix=/usr/local/freetds --with-tdsver=4.2 --enable-msdblib --with-gnu-ld --enable-shared --enable-static
make
make install
echo "/usr/local/freetds/lib" >> /etc/ld.so.conf
ldconfig
关于--with-tdsver参数:TDS VersionSupported Products
4.2Sybase SQL Server < 10 and Microsoft SQL Server 6.5
5.0Sybase SQL Server >= 10
7.0Microsoft SQL Server 7.0
7.1Microsoft SQL Server 2000
7.2Microsoft SQL Server 2005
修改FreeTDS默认字符集vim /usr/local/freetds/etc/freetds.conf
# 增加如下字段
[global]
client charset = utf8
连接测试cd /usr/local/freetds/bin
./tsql -H sql01.example.com -p 41434 -U BE -P 1234
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "utf8"
1>
安装mssql拓展# php拓展目录,自己下载对应版本的php
cd php-5.3.29/ext/mssql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make
make install
# 完成后拓展会在如下路径
ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
mssql.so
添加拓展# 修改配置
vim /usr/local/php/etc/php.ini
# 添加如下内容
; mssql
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/mssql.so
# 重启php-fpm
/etc/init.d/php-fpm restart
检查拓展是否装载echo "<?php phpinfo(); ?>" | php | grep mssql
# 输出如下
mssql
mssql.allow_persistent => On => On
mssql.batchsize => 0 => 0
mssql.charset => no value => no value
mssql.compatability_mode => Off => Off
mssql.connect_timeout => 5 => 5
mssql.datetimeconvert => On => On
mssql.max_links => Unlimited => Unlimited
mssql.max_persistent => Unlimited => Unlimited
mssql.max_procs => Unlimited => Unlimited
mssql.min_error_severity => 10 => 10
mssql.min_message_severity => 10 => 10
mssql.secure_connection => Off => Off
mssql.textlimit => Server default => Server default
mssql.textsize => Server default => Server default
mssql.timeout => 60 => 60