文档章节

Linux系统下ThinkPHP5链接MsSQL

wewelove
 wewelove
发布于 2016/10/21 14:28
字数 443
阅读 125
收藏 3

案例

CentOS6.8系统ThinkPHP5链接MsSQL数据库。

分析

ThinkPHP5提供了Mysql、Pgsql、Sqlite和Sqlsrv四种数据库驱动。Window系统下有现成的php_sqlsrv.dll扩展可用,但Linux系统中没有(本人没有找到)。

尝试1未成功,写来以备其它用途

安装freetds

wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
tar -zxvf freetds-patched.tar.gz
cd freetds-*
./configure --prefix=/usr/local/freetds --with-tdsver=auto --enable-msdblib --with-gnu-ld --enable-shared --enable-static
make && make install

安装mssql

wget http://cn2.php.net/distributions/php-5.6.22.tar.gz
tar -zxvf php-5.6.22.tar.gz
cd php-*/ext/mssql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make && make install 

修改php.ini,添加如下配置(路径请根据环境不同而定)

extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"

修改ThinkPHP5配置文件database.php

// 数据库类型
'type'           => 'sqlsrv',
// 服务器地址
'hostname'       => '192.168.1.210',
// 数据库名
'database'       => 'dbname',
// 用户名
'username'       => 'sa',
// 密码
'password'       => '123456',
// 端口
'hostport'       => '1433',

测试

这种方式在ThinkPHP中是行不通的,在其它应用环境可以。

尝试2成功

安装freetds

wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
tar -zxvf freetds-patched.tar.gz
cd freetds-*
./configure --prefix=/usr/local/freetds --with-tdsver=auto --enable-msdblib --with-gnu-ld --enable-shared --enable-static
make && make install

安装pdo_dblib

wget http://cn2.php.net/distributions/php-5.6.22.tar.gz
tar -zxvf php-5.6.22.tar.gz
cd php-*/ext/pdo_dblib
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds
make && make install 

修改php.ini,添加如下配置(路径请根据环境不同而定)

extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/pdo_dblib.so"

修改ThinkPHP5配置文件database.php

// 数据库类型
'type'           => 'dblib',
// 服务器地址
'hostname'       => '192.168.1.210',
// 数据库名
'database'       => 'dbname',
// 用户名
'username'       => 'sa',
// 密码
'password'       => '123456',
// 端口
'hostport'       => '1433',

下载ThinkPHP数据库驱动Dblib文件

将文件拷贝到 thinkphp/library/think/db 目录。

测试

成功。

© 著作权归作者所有

wewelove
粉丝 4
博文 20
码字总数 7090
作品 0
昆明
项目经理
私信 提问
MSSQL(SQL Server) on Linux 简明部署与使用

标签 PostgreSQL , ms sql , SQL Server 背景 本文介绍MS SQL on Linux的简单部署,使用。 https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-serve......

德哥
04/14
0
0
Redhat/CentOS 7下的msSQL安装

随着微软的不断向linux方向开拓,从开始的Bash on Ubuntu on Windows(Windows下的Ubuntu on Windows安装可以参看:http://blog.51cto.com/jim123/1962108)开始到目前在微软在Satya Nadella...

往事_Jim_遗
2018/06/26
0
0
Linux下python连接sqlserver

最近需要获取一批mssql服务器上的相关数据进行分析,由于需要每天定时获取mssql的数据,并进行报警,而且平时都是在linux下工作,这可犯愁了,google发现一个类似MySQLdb的python模块叫pymss...

China_OS
2013/12/07
0
4
MSSQL-Server On Docker

安装先决条件: • 适用于支持的任一 Linux 分发版的 Docker 引擎 1.8 以上版本,或适用于 Mac/Windows 的 Docker。 有关详细信息,请参阅 Install Docker(安装 Docker)。 • 至少 2 GB 的...

jwenshan
2018/05/30
0
0
在Linux上离线安装SQL Server 2017

如果你的Linux无法访问在线Repo,你可以直接下载RPM包文件。这些包位于微软的资料库:https://packages.microsoft.com。 CU9(2018年7月) SQL Server 2017的累积更新包9。SQL Server引擎版本...

UltraSQL
2018/07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

通过微服务来正确实施SOA

对于组织来说,能够构建、发展和扩展大型应用程序是至关重要的, 但所涉及的挑战使其成为一项艰巨的任务。正因为如此, 微服务凭借能够将单个组件拆分成围绕特定业务功能的独立服务,已成为构建...

Linux就该这么学
11分钟前
2
0
从 Spark 到 Kubernetes — MaxCompute 的云原生开源生态实践之路

2019年5月14日,喜提浙江省科学技术进步一等奖的 MaxCompute 是阿里巴巴自研的 EB 级大数据计算平台。该平台依托阿里云飞天基础架构,是阿里巴巴在10年前做飞天系统的三大件之分布式计算部分...

阿里云官方博客
15分钟前
1
0
使用python来操作redis用法详解

1、redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的red...

dragon_tech
15分钟前
2
0
给研发工程师的代码质量利器 | SOFAChannel#5 直播整理

> SOFA:Channel,有趣实用的分布式架构频道。 > > 本文根据 SOFAChannel#5 直播分享整理,主题:给研发工程师的代码质量利器 —— 自动化测试框架 SOFAActs。 > > 回顾视频以及 PPT 查看地址...

SOFAStack
17分钟前
1
0
段错误总结

https://blog.csdn.net/e_road_by_u/article/details/61415732 一、段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问...

悲催的古灵武士
18分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部