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命令创建的链接是硬链 ...
随机推荐
- ProcessHelp 进程类(启动,杀掉,查找)
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...
- 使用 Lombok 简化项目中无谓的Java代码
在写使用Java时,难免会有一些模板代码要写,不然get/set,toString, hashCode, close 资源,定义构造函数等等.代码会显得很冗余,很长.Lombok项目可以是我们摆脱这些 ...
- 第十届蓝桥杯 试题 E: 迷宫
试题 E: 迷宫 本题总分:15 分 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方. 010000 000100 001001 110000 迷 ...
- CFGym 100211J 题解
一.题目 二.题意 给定一个字母表(最多也就是英文小写字母的前10个字母),一个交换表,两个字符串,判断字符串A能否通过交换表的交换方式变成字符串B. 三.思路 1.一开始,比赛时,我半模拟半记忆化地 ...
- Linux-vim编辑器与shell的简介
VIM编辑器 vi是Visual interface的简称,它可以执行输出.删除.查找.替换.块操作等众多文本操作. 用户可以根据自己的需要对vim进行定制,这是其他编辑程序所没有的. vim不是一 ...
- 关于sqoop --split-by 及 -m的理解
场景: sqoop import --connect jdbc:postgresql://...../..... --username .... --query "select * fro ...
- canvas填充规则
canvas填充规则 const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); ct ...
- js 各种距离
网页可见区域宽 document.body.clientWidth 网页可见区域高 document.body.clientHeight 网页可见区域宽(包括边线的宽) document.b ...
- C++builder XML XSL 代码生成
void __fastcall TFrmGenCode::XSLTxml1Click(TObject *Sender) { // XSLT转换xml文件格式 _di_IXMLDocument xml; ...
- Discuz 任务、道具、任务和验证类插件制作
一.广告类脚本位置:source/class/adv/adv_name.php语言包位置:source/language/adv/lang_name.php <?php class adv_na ...