LinUX系统ThinkPHP5链接MsSQL数据库的pdo_dblib扩展
LinUX(centOS6.8)系统ThinkPHP5链接MsSQL数据库的pdo_dblib扩展
第一步 下载并安装freetds-current.tar.gz下载地址如下
ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gz
1.1下载解压并进入该文件夹 (其实你也可以解压以后再上传到linux服务器)
wget ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gz
tar zxvf freetds-current.tar.gz
cd freetds-stable
*解压以后的路径自己看 这个不一定对
1.2执行./configure
./configure --prefix=/usr/local/freetds --with-tdsver=7.1 --enable-msdblib
1.3执行make install
make && make install
第二步 安装PHP的安装pdo_dblib扩展
2.1 进入你安装的php源文件目录,如果找不到就重新找到同版本的PHP文件解压以后上传到linux服务器 我拿这个路径/root/scr/php/ext/pdo_dblib举例
cd /root/scr/php/ext/pdo_dblib
2.2 执行phpize 如果你的php不是安装在/usr/local路径下 你要修改为自己的php路径
/usr/local/php/bin/phpize
比如说我的php安装路径为/www/wdlinux/apache_php-5.6.21/ 就要执行/www/wdlinux/apache_php-5.6.21/bin/phpize
2.3执行./configure 同上如果你的php不是安装在/usr/local路径下 你要修改为自己的php路径
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds
比如说我的php安装路径为 /www/wdlinux/apache_php-5.6.21/那么./configure --with-php-config=/www/wdlinux/apache_php-5.6.21/bin/php-config --with-pdo-dblib=/usr/local/freetds
2.4执行make install
make && make install
第三步 修改php.ini 同上如果你的php不是安装在/usr/local路径下 你要修改为自己的php路径
比如说我的php安装路径为/www/wdlinux/apache_php-5.6.21/
3.1 验证编译文件的路径
进入/usr/local/php/lib/php/extensions里面查看里面或者下级目录有没有mssql.so和pdo_dblib.so文件
如果存在 那么说明编译成功了
3.2修改php.ini
vi /usr/local/php/etc/php.ini
并在最下方加入下面代码并保存 vi 修改 (先按 i 进入编辑模式,添加成功以后 按 Esc键推出编辑模式 再收入 :wq 后按回车保存)
//extension="/usr/local/php/lib/php/extensions/mssql.so"
extension="/usr/local/php/lib/php/extensions/pdo_dblib.so"
不同的服务器可能代码有所不同 ,我的php安装和编译路径就不同
//extension="/www/wdlinux/apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"
extension="/www/wdlinux/apache_php-5.6.21/lib/php/extensions/no-debug-non-zts-20131226/pdo_dblib.so"
3.3 全部搞定后重启阿帕奇apache 当然你也可以输入reboot重启服务器
service httpd restart
3.4 如果你觉得不放心查看php探针文件 看看是否mssql 和 pdo_dblib 安装成功


第四步 下载附件并复制数据库驱动扩展文件到ThinkPHP的文件中
文件放到主程序下 /thinkphp/library/think/db 下方
文件有两个 分别放到 builder和connector文件夹下 两个问题同名 都是Dblib.php 但是不能搞混 切记
第五步 配置database.php文件
return [
// 数据库类型
'type' => 'dblib',
// 服务器地址
'hostname' => '192.168.1.210',
// 数据库名
'database' => 'Mikkle_WeiXin',
// 用户名
'username' => 'sa',
// 密码
'password' => '123123123123123',
// 端口
'hostport' => '1433',
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'WeiXin_',
// 数据库调试模式
'debug' => true,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型 array 数组 collection Collection对象
'resultset_type' => 'array',
// 是否自动写入时间戳字段
'auto_timestamp' => true,
// 是否需要进行SQL性能分析
'sql_explain' => false,
];
LinUX系统ThinkPHP5链接MsSQL数据库的pdo_dblib扩展的更多相关文章
- Linux系统硬链接和软链接介绍
1.链接的概念 在Linux系统中链接分为硬链接和软连接两种,一种为硬链接,另一种为软连接或符号链接(symbolic Link).ln命令就是创建链接文件的,在默认不带参数的情况下,执行ln命令创建 ...
- Linux 系统中的MySQL数据库默认区分大小写
今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...
- 在linux系统下检查postgresql数据库安装,登录数据库及简单的查看数据库
1. 检查Linux系统是否安装数据库 首先查看自己的系统是否安装了postgresql数据库命令如下: rpm -qa | grep postgresql 如果没有显示查询结果(如下图所示)说 ...
- Linux系统上安装mysql数据库
一:下载并且上传安装包到linux系统上 1:下载地址:http://dev.mysql.com/downloads/mysql/ 2:通过LeapFtp工具,将windows上的mysql安装包拷贝 ...
- 虚拟机中ubuntu-16.04 Linux系统下配置mysql数据库,并在windows下使用navicat远程连接
Linux系统下mysql数据库安装配置步骤: 1.在服务器上安装mysql:sudo apt-get install mysql-server sudo apt-get install mysql- ...
- 在Linux系统上安装Oracle数据库
前期准备:我用的是虚拟机上的CentOS 64位系统.所以需要设置网卡,时间,EPEL源,安装一些必备的软件. 1.1在虚拟机上安装好Linux系统后选择虚拟机设置—>网络适配器—>网络连 ...
- 【Linux】Linux系统硬链接和软链接
在linux系统中有种文件是链接文件,可以为解决文件的共享使用.链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link). 查看lin ...
- Linux系统硬链接和软链接说明 - 运维笔记
在linux系统中有种文件是链接文件,可以用来解决文件的共享使用.链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link).先来查看下 ...
- 二、Linux系统硬链接和软链接详细介绍与实践
链接的概念 在linux系统中,链接可分为两种:一种被称为硬链接(Hard LinK),另一种被称为软链接或符号链接(Symbolic Link).在默认不带参数的情况下,执行ln命令创建的链接是硬链 ...
随机推荐
- JAVA通过JDBC连接Oracle数据库详解【转载】
JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...
- [转]Java IDE 之 IntelliJ IDEA 2017
参考链接1:http://blog.csdn.net/u012364631/article/details/47682011 IDEA Community(社区版) 使用Maven创建Web工程 并部 ...
- 基于Redis实现简单的分布式锁
在分布式场景下,有很多种情况都需要实现最终一致性.在设计远程上下文的领域事件的时候,为了保证最终一致性,在通过领域事件进行通讯的方式中,可以共享存储(领域模型和消息的持久化数据源),或者做全局XA ...
- 大白话系列之C#委托与事件讲解(序言)
声明:本系列非原创,因为太精彩才转载,如有侵权请通知删除,原文:http://www.cnblogs.com/wudiwushen/archive/2010/04/20/1698795.html 在讲 ...
- 如何更改Windows10的计算机基本信息
请问如何去掉红色框内的内容?优化大师更改无效! 最佳答案 打开注册表,定位到如下路径 1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current ...
- MS SQL 流程控制语句
Declare myCursor cursor For Select * from table1 open myCursor Fet ...
- U3D SCENEMANAGER.LOADSCENE是半异步的
作地图加载优化时用到了SceneManager.LoadScene,发现它执行后立即执行了后面的语句,查文档才知道 它是 semi-asyncronize的,即半异步的. 说它是半异步,是因为,它本身 ...
- nginx 配置ajax跨域访问php接口
在nginx.conf里面,找到server项,并在里面添加如下配置 location ~ \.php?($|/) { #try_files $uri =; #handel cosr by mao a ...
- Fragment生命周期(转)
Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且 ...
- shell脚本学习指南-学习(2)
1.I/O重定向符:< > >与管道 | #! /bin/bash echo -n "Enter your name!" //输出 printf &qu ...