benmo | 发布于 2017-02-22 19:12:11 | 阅读量 1250 | ? LNMP ? ? PHP ?
发布于 2017-02-22 19:12:11 | ? LNMP ? ? PHP ?

    官方的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

 


内容更新于: 2017-03-03 14:58:34
链接地址: http://blog.leanote.com/post/benmo/Linux%E4%B8%8BPHP%E6%B7%BB%E5%8A%A0SQL-Server%E7%9A%84mssql%E6%8B%93%E5%B1%95

上一篇: OpenLDAP 初识

下一篇: Exchange迁移至iRedMail(LDAP)

1250 人读过
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论
文档导航