linux php 连接sqlservser

本文介绍了在Linux系统中,如何使用PHP连接SQL Server的详细步骤,包括安装FreeTDS,配置并验证连接,以及安装mssql和pdo扩展。过程中需要注意FreeTDS版本的选择和配置,以及解决连接时可能出现的编码问题。
摘要由CSDN通过智能技术生成

linux php 连接sqlservser

近期有个项目需求需要连接远程的sqlservser,给我上了一课,起初踩了很多坑甚至导致重装系统,网上大多都是win系统下装扩展的教程。最后好不容易找到几篇文档,感谢那些大佬。

直接正题

首先我们需要装的是 FreeTDS
什么是FreeTDS
  简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS 是一个开源的程序库,是TDS(表列数据流 )协议的再次实现。它可以被用在Sybase的db-lib或者ct-lib库。它也包含一个ODBC的库。允许许多开源的应用软件比如Perl和PHP(或者你自己的c或C++程序)去连接到Sybase或 Microsoft SQL服务器。FreeTDS 以源码的形式被发布,几乎可以在任何操作系统上编译。意味着Unix和类Unix系统(包括著名的分支如Interix和QNX),还有Win32,VMS,和OSX。
原文链接:
https://blog.csdn.net/qq_37050993/article/details/82454946https://blog.csdn.net/qq_37050993/article/details/82454946
简单来说就是用于Linux操作微软的SQL数据库的库或者说软件,驱动(可能不太准确的描述)。

如何装:
1.首先需要编译安装FreeTDS

1.1、安装(这一部分也可以百度相关教程,我一时我不到我之前看的教程的,不过大同小异)

说明:一定要从官网下载最新的版本FreeTDS-0.95 ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz

如果官网实在太慢建议从本人上传的这里一样很快下载:http://download.csdn.net/detail/21aspnet/9000357

wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz

tar -zxvf freetds-patched.tar.gz

cd freetds-0.95

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

make && make install

需要注意的就是这里的–with-tdsver=7.3,这个非常重要,你需要根据你的数据库版本选择正确的配置项,本人是SQLserve2008所以需要选择7.3.

FreeTDS-0.91只支持7.1,其余都会默认为5.0。只有FreeTDS-0.95是对Sqlserver2008的最佳配置

1.2、配置FreeTDS(这部分可以忽略)

#cd …/

#echo “/usr/local/freetds/lib/” > /etc/ld.so.conf.d/freetds.conf
#ldconfig

1.3、验证FreeTDS版本

这一步非常重要,通过才可以继续,不然后面的步骤都是无意义的。

首先看看版本信息

#/usr/local/freetds/bin/tsql -C

Compile-time settings (established with the “configure” script)
Version: freetds v0.95.19
freetds.conf directory: /usr/local/freetds/etc
MS db-lib source compatibility: yes
Sybase binary compatibility: no
Thread safety: yes
iconv library: yes
TDS version: 7.3
iODBC: no
unixodbc: no
SSPI “trusted” logins: no
Kerberos: no
OpenSSL: no
GnuTLS: no

1.4、测试连通性

/usr/local/freetds/bin/tsql -H 数据库服务器IP -p 端口号 -U 用户名 -P 密码

1.5、修改配置

如果你想使用配置项,只要修改[egServer70]即可:

[egServer70]

host = 192.168.1.235 这个是数据库服务器IP  

port = 1433  

tds version = 7.1

2、安装mssql或pdo扩展

2.1、安装mssql

cd /usr/php-5.6.25/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

cp /usr/local/php/lib/php/extensions/no-debug-zts-20131226/mssql.so /usr/local/php/extension/mssql.so(此处根据个人配置)

2.2、安装pdo

增加PHP扩展pdo的pdo_dblib

cd /usr/php-5.5.28/ext/pdo_dblib/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds/
make && make install

cp /usr/local/php/lib/php/extensions/no-debug-zts-20131226/pdo_dblib.so /usr/local/php/extension/pdo_dblib.so(此处根据个人配置)

在php.ini中添加extension = “mssql.so” 或 extension =“pdo_dblib.so” (安装一个足够了)
转载 https://www.cnblogs.com/ttiandeng/p/6559137.html

以上都是查找的各种教程,下面简单说一下自己的了解和搭建项目遇到的坑
首先我用的是tp3框架首先第一个坑是连接报驱动错误问题
无法加载数据库驱动: Think\Db\Driver\Dblib,解决方法下图。
在这里插入图片描述
其次就是多数据库配置和连接方式有其他配置的具体百度这个问题不大
u s e r = M ( ) − > d b ( 2 , " D B N E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值