首先说明,php增加pdo_dblib.so拓展不需要重新编译php源文件,只需要增加dblib源包即可。

1.下载安装所需包

1.#下载
wget http://mirrors.ibiblio.org/freetds/stable/freetds-stable.tgz
2.#解压文件 (选择好自己所需要编译的路径)
tar -zxvf freetds-stable.tgz
3.#进入解压后的目录
cd freetds-0.91/
4.配置编译
./configure --prefix=/usr/local/freetds --with-tdsver=7.1 --enable-msdblib
make && make install

2.进入php源编译目录进行编译安装pdo_dblib.so

1#进入我的php编译目录
cd /usr/local/src/php-5.6.32/ext/pdo_dblib/
2.#执行phpize生成PECL扩展的configure文件.
/usr/local/php/bin/phpize
3.安装编译
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds
make && make install

3.编译成功的话可以在cd /usr/local/php/lib/extensions/里找到 pdo_dblib.so,不成功的话查看下面我备注的一些坑。

[root@vm-no-debug-non-zts-20131226]# ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
total 3408
-rwxr-xr-x 1 root root 1113008 Apr 10 16:12 opcache.a
-rwxr-xr-x 1 root root 589508 Apr 10 16:12 opcache.so
-rwxr-xr-x 1 root root 109781 Apr 11 14:58 pdo_dblib.so
-rwxr-xr-x 1 root root 1671797 Nov 24 10:00 redis.so
[root@vm-no-debug-non-zts-20131226]#

4.重启php服务 查看文件是否存在

[root@vm-no-debug-non-zts-20131226]# php -m|grep dblib
pdo_dblib
[root@vm-no-debug-non-zts-20131226]#

我遇到的错误~

PHP Warning: PHP Startup: redis: Unable to initialize module  

解决办法:

1、删除编译过的源码包freetds-0.91 和 pdo_dblib文件和目录,从新编译生成freetds
2、检测/usr/sbin /use/bin 目录下是否存在php php-config php-cgi phpize 文件,重新在源文件目录下cop过来新的命令。(因为我这之前升级过版本,所以存在版本不一致情况)

然后重新编译即可,还要注意执行phpize时最好写全路径,并且要在php源文件ext目录下pdo_dbib问下才行)

我遇到的错误~

.PHP Warning: Module 'pdo_dblib' already loaded in Unknown on line 0  

解决办法:

因为看文档很多都写了在php.ini中添加 extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/pdo_dblib.so

加上后就会出现如上错误,显示重复加载,具体报错原因不知道。直接注释掉就好啦。

 

 

PHP 5.6.32 增加pdo_dblib.so拓展的更多相关文章

  1. dRMT: Disaggregated Programmable Switching, SIGCOMM17

    Reference: dRMT, SIGCOMM 2017 今年的SIGCOMM17会议上,Cisco System和MIT的团队针对RMT模型现有的问题,合作发表了这篇"dRMT: Dis ...

  2. 推荐几个最好用的CRM软件,本人亲测

    CRM是英文Customer Relationship Management 的简写,一般译作“客户关系管理”.CRM最早产生于美国,由Gartner Group 首先提出的CRM这个概念的.20世纪 ...

  3. Android--使用VideoView播放视频

    承香墨影 Android--使用VideoView播放视频   前言   之前有讲过如何使用SurfaceView配合MediaPlayer播放视频,其实Android还为开发人员提供了另外一种更简单 ...

  4. Linux从逻辑地址到物理地址

    转自:http://blog.chinaunix.net/uid-24774106-id-3427836.html 我们都知道,动态共享库里面的函数的共享的,这也是动态库的优势所在,就是节省内存.C ...

  5. 个人卡付款sql

    select arap_djfb.billdate as 单据日期, bd_corp.unitname as 付款单位, arap_djfb.zy as 付款摘要, bd_cubasdoc.custc ...

  6. 共享内存shared pool (4):Library cache 转储文件

    上一篇blog只是从概念上理解Library cache,本篇则是将Library cache从内存中dump出来,看看其结构. 基本命令 ALTER SESSION SET EVENTS 'imme ...

  7. linxu php连接sqlserver

    今天linux的yum也不能用,用的是第三方的yum源,yum安装好后更新header又花了很长时间. 记得安装指定安装目录要用 --with-php-config=PATH命令. CentOS 6安 ...

  8. 深入理解shared pool共享池之library cache系列一

    结论 1,oradebug dump library_cache不同级别dump的library cache内容及粒度会有所区别,具体见测试开始部分2,本文测示基于oradebug dump libr ...

  9. Java 设计模式(四)-工厂方法模式 (FactoryMethod Pattern)

    1     概念定义 1.1   定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 1.2   类型 创建类模式 2     原理特征 2.1   类 ...

随机推荐

  1. HSL与RGB颜色转换

    /** * HSL颜色值转换为RGB. * 换算公式改编自 http://en.wikipedia.org/wiki/HSL_color_space. * h, s, 和 l 设定在 [0, 1] 之 ...

  2. 用sqldeveloper连接数据库

    用sql developer连接sqlserver,连接窗口默认没有sqlsever页签,需要配置数据库驱动: 具体步骤: 1.工具--首选项--数据库--第三方JDBC驱动

  3. exynos4412—UART裸板复习

    我们通过RS232来做实验. 通过电平转换芯片, 连接至核心板: 即:GPA0_0  GPA0_1     配置引脚为串口专用模式: 然后看 ULCONn  [31:0]       0x3 设置串口 ...

  4. C# set 跟 get

    可以在类里面 private string name; public string Name { get { return name; } set { name = value; } }

  5. ERROR oslo_service.service PlacementNotConfigured 解决办法

    PlacementNotConfigured: This compute is not configured to talk to the placement service 原因:官方文档中遗漏了- ...

  6. 数据库 MySQL part3

    外键约束 如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表. 外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操 ...

  7. Hihocoder #1515 : 分数调查

    #1515 : 分数调查 http://hihocoder.com/problemset/problem/1515 分析 带权并查集. 如果把每个人抽象成一个点,之间的关系抽象成边.那么如果询问的两个 ...

  8. LeetCode:34. Search for a Range(Medium)

    1. 原题链接 https://leetcode.com/problems/search-for-a-range/description/ 2. 题目要求 给定一个按升序排列的整型数组nums[ ]和 ...

  9. (AOSP)repo checkout指定版本

    aosp 怎么切换分支? To properly switch Android version, all you need to change is branch for your manifest ...

  10. netty之编解码

    1.netty的编码和解码,在数据传输的时候,考虑数据安全,数据完整性都是很有必要的.这里主要是介绍netty3和netty5的编解码方式.其实从StringEncoder和StringDecoder ...