写这篇教程的同时,也是走了不少弯路,这里分享给大家,供大家参考。
安装环境: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); ?>
文章评论(0)