最开始想使用 pdo_sqlsrv 拓展,但是一直没成功,本文采用的是 pdo_dblib + freetds。

环境:CentOS 6.8、PHP 5.6.20

freetds

 wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.109.tar.gz
tar -xzf freetds-1.00.109.tar.gz
cd freetds-1.00./
./configure --prefix=/datas/soft/freetds --enable-msdblib --with-tdsver=7.1
make
make install
/datas/soft/freetds/bin/tsql -C

pdo_dblib

 cd ~/php-5.6./ext/pdo_dblib
/datas/soft/php56/bin/phpize
./configure --with-php-config=/datas/soft/php56/bin/php-config --with-pdo-dblib=/datas/soft/freetds
make
make install
vim /datas/soft/php56/etc/php.ini
extension = "pdo_dblib.so"
php --ri pdo_dblib

测试代码

 $db = new PDO ("dblib:host=IP:端口;dbname=数据库名","用户名","密码");
$stmt = $db->prepare("SELECT top 5 * FROM my_table");
$stmt->execute();
while ($row = $stmt->fetch()) {
var_dump($row);
}

另外,我这边用的是 php-5.6.20 安装包里自带的拓展包去编译 pdo_dblib,偶然有一次是从 http://pecl.php.net/package/PDO_DBLIB 下载的,会出现以下错误

 checking for re2c... no
configure: WARNING: You will need re2c 0.13. or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for PDO_DBLIB support via FreeTDS... yes, shared
configure: error: Directory /datas/soft/freetds is not a FreeTDS installation directory

参考资料

https://blog.csdn.net/lanwilliam/article/details/79557119
https://blog.csdn.net/qq_20259383/article/details/77838209
https://www.aliyun.com/jiaocheng/126744.html
http://www.freetds.org
https://blog.slogra.com/post-421.html
https://sourceforge.net/projects/re2c/files/
https://www.linuxidc.com/Linux/2008-09/15686.htm

初试PHP连接sql server的更多相关文章

  1. Unity3d连接SQL Server数据库出现SocketException: 使用了与请求的协议不兼容的地址错误

    这两天,同学问我Unity3d连接SQL Server的问题,当时我只是简单的说:“应该一样吧,就是那简单的几句啊”.之后他让我试了下,我才发现有问题了.故此写下一篇博客,要牢记这件事的教训,操作数据 ...

  2. vbs连接sql server及写文件操作

    此段代码是连接SQL SERVER的 代码内connMMSQL的参数要根据实际情况传入 Function connMMSQL(ip,user,pwd,database,strsql) Dim conn ...

  3. python 使用pymssql连接sql server数据库

    python 使用pymssql连接sql server数据库   #coding=utf-8 #!/usr/bin/env python#------------------------------ ...

  4. NetBeans连接SQL server数据库教程

    不废话,直接开始 1.下载sqljdbc.jar 可以从微软中国官方网站下载 SQLJDBC微软中国 笔者提供一个网盘链接Sqljdbc.jar 4个压缩包视版本选择,SQL 2012 用sqljdb ...

  5. JDBC连接SQL Server代码模板

    *                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* Re ...

  6. FireDAC 连接SQL Server一些要注意的地方

    TFDConnection: FetchOptions.Mode 设置为fmAll, 返回全部结果, 否则默认只返回前50条, 效果与open以后再执行FetchAll一样 Specifies how ...

  7. 【转】PowerShell 连接SQL Server 数据库 - ADO.NET

    转至:http://www.pstips.net/connect-sql-database.html PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整 ...

  8. PHP5.6.15连接Sql Server 2008配置方案

    php5.6的如果想连接Sql Server 2008数据库,需要手动配置扩展和安装一个驱动. 下载SQL Server Driver for PHP的扩展包,64位系统的官方不支持,找到一个非官方的 ...

  9. NK3C框架(MyBatis、Durid)连接SQL Server

    NK3C框架连接SQL Server修改配置如下: 1.添加POM引用 <sqlserver.driver.version>4.0</sqlserver.driver.version ...

随机推荐

  1. ASP.NET操作DataTable各种方法

    转:http://www.cnblogs.com/isking/p/6178268.html http://www.cnblogs.com/sntetwt/p/3496477.html public ...

  2. IDEA中的一些常用的设置与快捷键

    idea 清屏(控制台)快捷键 eclipse清屏快捷键为鼠标右键+R 而在idea中默认并没有清屏console的快捷键 所以需要我们自行设置: 1,ctrl+alt+s打开settings 2,找 ...

  3. JQ的事件绑定

    一.事件的绑定:可以添加多个同类事件 $("").click(function(){ }) $("").on(事件名,函数) $("").o ...

  4. 栅格那点儿事(四E)

    栅格金字塔   如果上面的部分都已经看过了,那么如何在ArcMap中更好的渲染一个栅格数据你已经知道了.可仅展示好一个栅格数据是不够的,我们还需要知道如何快速的展示一个栅格数据. 讲金字塔之前,先解释 ...

  5. GDB多线程调试分析

    0x00: 在Linux系统上Gdb提供了一组多线程调试命令,如表所示: 多线程调试的主要任务是准确及时地捕捉被调试程序线程状态的变化的事件,并且GDB针对根据捕捉到的事件做出相应的操作,其实最终的结 ...

  6. DB2安装教程图解

    下载好之后,是exe文件,但是双击后基本上都是解压,但是使用自身的解压的话会有很多文件解压失败的情况,所以推荐使用自己电脑上自带的解压工具直接解压(如360解压,好压等). 解压之后直接运行setup ...

  7. zabbix3.0问题及解决方法

    一.问题:Zabbix agent on T2 is unreachable for 5 minutes         解决:1.进入zabbix service端 vim /etc/zabbix/ ...

  8. centos6.5_64bit_tomcat7开机自启

    一.创建tomcat脚本 vim /etc/init.d/tomcat 将下面的内容拷到脚本里面 =================================================== ...

  9. MySQL入门很简单: 6 视图

    1. 视图含义作用 视图是虚拟的表,是从数据率中一个或多个表中导出来的表:  数据库中只存放了视图的定义,没有存放视图中的数据,数据在原先的表中:  一旦表中的数据发生变化,显示在视图中的数据也会发生 ...

  10. java 中的Number类 Character类 String类 StringBuffer类 StringBuilder类

    1. Number类 Java语言为每一个内置数据类型提供了对应的包装类.所有的包装类(Integer.Long.Byte.Double.Float.Short)都是抽象类Number的子类.这种由编 ...