使用centos7+LNMP+freetds+mssql扩展、连接sqlserver2008数据库

2022-07-31   阅读:273   分类:后端    标签: 服务器

写这篇教程的同时,也是走了不少弯路,这里分享给大家,供大家参考。

安装环境:centos7.7+lnmp1.6+PHP7.3

附件下载:这里下载0.95.92版本

一、安装freetds

1、freetds-0.95.92.tar.gz

http://www.freetds.org/files/stable/

2、将下载的压缩包上传到服务器上,解压压缩包

tar -zxvf freetds-0.95.92.tar.gz

3、进入解压后的目录,注意版本号

cd freetds-0.95.92

查看当前支持的 tdsver 版本,选择对应支持的 MSSQL 版本

./configure --help

4、重编译安装,注意 tdsver 版本

./configure --prefix=/usr/local/freetds --enable-msdblib --with-tdsver=7.3
make && make install

5、配置freetds.conf文件

vi /usr/local/freetds/etc/freetds.conf

 

# 针对 MSSQL 修改配置
# A typical Microsoft server
[mssql_test]
# 这是MSSQL服务器IP/端口号
host = 1.2.3.4
port = 1433
tds version = 7.3
client charset=UTF-8 #确保中文无乱码

6、检测是否安装成功

cd /usr/local/freetds/bin
./tsql -C

出现如下所示则表示安装成功:

7、连接测试

1.进入freetds安装目录,执行如下命令:

cd /usr/local/freetds/bin
./tsql -H 192.168.0.254 -p 1433 -U sa -P 123456

出现如下则表示连接成功:

locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> 

# 按 ctrl + C 退出

二、编译PHP扩展mssql

1.下载对应版本的PHP完整包并解压,这里以php-5.6.36为例

cd /root/lnmp1.6/src

2、解压lnmp1.6安装包下的php-5.5.38.tar.bz2

tar -xvf php-5.5.38.tar.bz2

3、进入到安装目录

cd /root/lnmp1.6/src/php-5.5.38

# 进入mssql模块源码目录

cd ext/mssql

4、生成编译配置文件

/usr/local/php5.5/bin/phpize

5、编译安装

 ./configure --with-php-config=/usr/local/php5.5/bin/php-config --with-mssql=/usr/local/freetds
 make && make install

6、编译php.ini,增加mssql扩展库支持

extension=/usr/local/php5.5/lib/php/extensions/no-debug-non-zts-20121212/mssql.so

7、重启lnmp环境

lnmp restart

8、查看是否配置成功

/usr/local/php5.5/bin/php -m

9、编写连接数据库代码

<?php
header("Content-Type: text/html; CHARSET=UTF-8");
ini_set("display_errors", "On");//打开错误提示
ini_set("error_reporting",E_ALL);//显示所有错误
 
$ms_host = "192.168.5.46"; //主机
$ms_user = "sa"; //用户名
$ms_pass = "2022551*a"; //密码
$ms_data = "db1"; //MSSQL库名
$link = mssql_connect ( $ms_host ,$ms_user ,$ms_pass );
if(!$link){
   echo "连接数据库失败";exit;
}
mssql_select_db ($ms_data , $link );
// Query to execute
$query = mssql_query ( "SELECT * FROM zsbv_ctmcallinfo", $link);
// Did the query fail?
if (! $query ) {
   die( 'MSSQL error: ' . mssql_get_last_message ());
}
// Fetch the row
$data = [];
while($row = mssql_fetch_array($query)){
   $data[] = $row;
}
 
var_dump($data);
 
?>
【腾讯云】爆款云服务器限时体验20元起,更多上云必备产品低至1元

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/920.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸 头像

简忆博客
勤于学习,乐于分享。

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×