centos7 / 宝塔面板 / ThinkPHP5.1使用Db类对接SqlServer2008

我之前写过一篇用 pdo_sqlsrv 扩展对接SqlServer2008的文章,但是后来在实际应用的时候发现 tp5.1 在使用Db操作SqlServer2008插入数据时会报一些非常诡异的 BUG(比如连续插入两条记录,第二次插入时会报上一条记录的字段缺少错误)。所以本文换为使用 pdo_dblib 扩展来对接SqlServer,且 PHP 的版本只能使用5.6(因为扩展的缘故)

#安装freetds
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.1.33.tar.gz
tar -zxvf freetds-1.1.33.tar.gz
cd freetds-1.1.33
./configure --prefix=/usr/local/freetds --with-tdsver=7.3 --enable-msdblib
make && make install
echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf
ldconfig

#验证是否安装成功
/usr/local/freetds/bin/tsql -C

#下载php5.6,编译mssql扩展
cd ..
wget https://www.php.net/distributions/php-5.6.40.tar.gz
tar -zxvf php-5.6.40.tar.gz
cd php-5.6.40
cd ext
cd mssql
/www/server/php/56/bin/phpize
./configure --with-php-config=/www/server/php/56/bin/php-config --with-mssql=/usr/local/freetds/
make && make install

#编译pdo_dblib扩展
cd ..
cd pdo_dblib
/www/server/php/56/bin/phpize
./configure --with-php-config=/www/server/php/56/bin/php-config --with-pdo-dblib=/usr/local/freetds/
make && make install

#修改宝塔php.ini配置,重载php
echo "extension = pdo_dblib.so" >> /www/server/php/56/etc/php.ini
/etc/init.d/php-fpm-56 reload
/www/server/php/56/bin/php -m|grep -i  sqlsrv

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇