官方的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 Version | Supported Products |
4.2 | Sybase SQL Server < 10 and Microsoft SQL Server 6.5 |
5.0 | Sybase SQL Server >= 10 |
7.0 | Microsoft SQL Server 7.0 |
7.1 | Microsoft SQL Server 2000 |
7.2 | Microsoft 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
没有帐号? 立即注册