PHP 5.6.32 增加pdo_dblib.so拓展
首先说明,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拓展的更多相关文章
- dRMT: Disaggregated Programmable Switching, SIGCOMM17
Reference: dRMT, SIGCOMM 2017 今年的SIGCOMM17会议上,Cisco System和MIT的团队针对RMT模型现有的问题,合作发表了这篇"dRMT: Dis ...
- 推荐几个最好用的CRM软件,本人亲测
CRM是英文Customer Relationship Management 的简写,一般译作“客户关系管理”.CRM最早产生于美国,由Gartner Group 首先提出的CRM这个概念的.20世纪 ...
- Android--使用VideoView播放视频
承香墨影 Android--使用VideoView播放视频 前言 之前有讲过如何使用SurfaceView配合MediaPlayer播放视频,其实Android还为开发人员提供了另外一种更简单 ...
- Linux从逻辑地址到物理地址
转自:http://blog.chinaunix.net/uid-24774106-id-3427836.html 我们都知道,动态共享库里面的函数的共享的,这也是动态库的优势所在,就是节省内存.C ...
- 个人卡付款sql
select arap_djfb.billdate as 单据日期, bd_corp.unitname as 付款单位, arap_djfb.zy as 付款摘要, bd_cubasdoc.custc ...
- 共享内存shared pool (4):Library cache 转储文件
上一篇blog只是从概念上理解Library cache,本篇则是将Library cache从内存中dump出来,看看其结构. 基本命令 ALTER SESSION SET EVENTS 'imme ...
- linxu php连接sqlserver
今天linux的yum也不能用,用的是第三方的yum源,yum安装好后更新header又花了很长时间. 记得安装指定安装目录要用 --with-php-config=PATH命令. CentOS 6安 ...
- 深入理解shared pool共享池之library cache系列一
结论 1,oradebug dump library_cache不同级别dump的library cache内容及粒度会有所区别,具体见测试开始部分2,本文测示基于oradebug dump libr ...
- Java 设计模式(四)-工厂方法模式 (FactoryMethod Pattern)
1 概念定义 1.1 定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 1.2 类型 创建类模式 2 原理特征 2.1 类 ...
随机推荐
- LeetCode 中级 - 组合总和II(105)
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用一次. ...
- 分布式版本控制系统之Git
Git Git 是目前世界上最先进的分布式版本控制系统(没有之一) 作用 源代码管理 为什么要进行源代码管理? 方便多人协同开发 方便版本控制 Git的诞生 作者是 Linux 之父:Linus Be ...
- 关于Hibernate的部分知识总结
[部分内容参考地址:https://www.cnblogs.com/woniu2219/p/7111857.html] Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对J ...
- 获取当前对象的key的名称
获取当前对象的key的名称(无法获取),只能曲线救国 通过给标签添加class,id, 然后通过对class的遍历,来获取到id(这个id对应数据库的字段,所以对应对象的key) 然后再给 id 赋值 ...
- XSS攻击 && CSRF攻击 基础理解
一个网站,不管多么的帅气,多么的风骚,如果你不安全,那始终都是一个弟弟啊~ 今天又看了下XSS和CSRF攻击的文章,我也想发点什么普及下大家的安全意识,毕竟作为一名拥有伟大梦想的程序员,基本的安全意识 ...
- git找回本地误删的文件或文件夹
一:首先,我们先用git status 看看工作区的变化 application/Admin/Conf/config.php 如果要恢复文件记住这个 application 如果要恢复文件夹记住这个工 ...
- 关于org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z报错
之前一直出现这个错误,使用的开发工具是IDEA 我感觉似乎是hadoop与windows的操作系统不太适合 于是在project创建 org.apache.hadoop.io.nativeio包,将N ...
- for循环简单实例(打印乘法表,打印菱形)
关于for循环的简单应用: 回顾了一下for循环的嵌套: for循环嵌套简单来讲就是一个外圈的for程序里面一个套着一个小的for程序,如果在范围内就来回运行计算,超出了就跳出等待 下面程序为打印九九 ...
- 嘿,C语言(持续更新中...)
---恢复内容开始--- 上次简单介绍了一下C语言,这次说说数据与计算程序,那么话不多说,进来看看. 第二章 数据与简单的计算程序 一:数据 既然说到了数据,那么说说什么是写数据呢? 表面意 ...
- Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数
Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...