cenos6.5 64位下PHP远程连接sql server2008成功案例
准备工作:
1、sql server2008服务器(开放远程端口,默认为1433,我用的是192.168.1.129)
2、安装好php的centos服务器
步骤:
1、php安装mssql扩展。centos下用yum安装比较方便,但是默认情况下yum库里并没有mssql可供安装,此时需要安装fedoraproject的epel-release源,即可以安装php的mssql模块。
注:epel是fedora开发组为centos开发的附加软件yum源,可以弥补centos上游redhat里缺少的软件包,epel的质量还是相当之高的。
[root@sky html]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@sky html]# yum install php-mssql
[root@sky html]# /etc/init.d/httpd graceful
查看phpinfo可以看到mssql扩展信息:

特别注意那个FreeTDS,mssql实际还是FreeTDS,其功能主要是在Liunx下能够访问Sybase及MS SQL,官方网站是:http://www.freetds.org/。
2、配置FreeTDS。安装mssql后,freetds作为dependence也安装至系统中,查看freetds的基本信息:
[root@sky html]# tsql -C

发现其配置文件位于/etc文件夹下,修改配置文件:
[root@sky html]#vi /etc/freetds.conf
在文档后面加上实际的sql server2008的连接信息:
[SERVER1]
host = 192.168.1.129
port = 1433
tds version = 7.0
client charset = UTF-8
保存后确认freetds可以连上sql server2008:
[root@sky html]#tsql -S SERVER1 -U account -P password
出现以下信息表示连接成功:

3、使用php连接sql server2008。
代码如下:
<?
$conn=mssql_connect('SERVER1','account','password') or die('Something went wrong while connecting to MSSQL');
mssql_select_db('skyl',$conn);
$sql="select * from sysobjects where Xtype='V' and status>=0";
$result=mssql_query($sql);
while($res=mssql_fetch_array($result,MSSQL_ASSOC)){
print_r($res);
}
mssql_close($conn);
?>
注意连接时的SERVER1字串,此即为freetds配置文件里的SERVER1,连接将使用配置文件里的编码UTF-8;若SERVER1改用IP地址代替,则连接默认使用sql server2008默认的编码,一般为Latin1-Gerneral,容易导致中文乱码。
中文乱码的另一种解决方案:sql语句写成:select DEPT1 collate Chinese_PRC_CI_AS dept1 from xxxxx。
cenos6.5 64位下PHP远程连接sql server2008成功案例的更多相关文章
- CentOS7 (64位) 下QT5.5 连接MySQL数据库(driver not loaded)
用qt连接MySQL需要共享库 libqsqlmysql.so的驱动,路径在plugin/sqldrivers目录下,乍看已经可用了,其实不然. 用ldd命令分析一下,libmysqlclient_r ...
- Win7 64位下安装64bit MS SQL Server2005时安装不了Reporting Services的处理办法
警告截图: 解决办法: 在cmd窗口运行如下脚本即可: "cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/A ...
- Win7 64位安装VS2013无法连接远程数据库
win7 64位安装vs2013后连接远程数据库出现下面的问题:A first chance exception of type 'System.AccessViolationException' o ...
- win7(64)位下WinDbg64调试VMware10下的win7(32位)
win7(64)位下WinDbg64调试VMware10下的win7(32位) 一 Windbg32位还是64位的选择 参考文档<Windbg 32位版本和64位版本的选择> http:/ ...
- win7 64位下如何安装配置mysql-5.7.4-m14-winx64
win7 64位下如何安装配置mysql-5.7.4-m14-winx641. mysql-5.7.4-m14-winx64.zip下载 官方网站下载地址:http://dev.mysql.com/g ...
- PL/SQL Developer的安装以及与64位Oracle Database进行连接
本文转载自budongs 一.下载 官网安装包(1106版本)下载链接: plsqldev1106.exe 官网中文语言包(110版本) 下载链接: chinese.exe [中文语言包的使用方法为: ...
- Windows10 64位下安装TensorFlow谷歌人工智能系统已官方原生支持
Windows10 64位下安装TensorFlow谷歌人工智能系统已官方原生支持 GitHub - tensorflow/tensorflow: Computation using data flo ...
- 64位下pwntools中dynELF函数的使用
这几天有同学问我在64位下怎么用这个函数,于是针对同一道题写了个利用dynELF的方法 编译好的程序 http://pan.baidu.com/s/1jImF95O 源码在后面 from pwn im ...
- Ubuntu 14.04 AMD 64位 下 Android Studio 的安装
Ubuntu 14.04 AMD 64位 下 Android Studio 的安装 作者:yoyoyosiyu 邮箱:yoyoyosiyu@163.com 时间:2015年8月25日 Android ...
随机推荐
- 应用tomcat(Linux中安装)
CentOS 7 中安装 tomcat. 下载 Tomcat Wget 下载 Tomcat Tomcat 官网中找到指定版本 Tomcat rpm 的 url 使用 wget url 下载 rpm , ...
- BZOJ 1043 下落的圆盘
Description 有n个圆盘从天而降,后面落下的可以盖住前面的.求最后形成的封闭区域的周长.看下面这副图, 所有的红色线条的总长度即为所求. Input n ri xi y1 ... rn x ...
- 面向对象涉及SOLID原则
S = Single Responsibility Principle 单一职责原则 O = Opened Closed Principle 开放闭合原则 L = Liscov Substituti ...
- zip file 压缩文件
有时候我们希望 upload 文件后自动压缩, 可以节省空间. 可以使用微软提供的压缩代码 Install-Package System.IO.Compression.ZipFile -Version ...
- rsync使用说明
需求:把10.5.128.190数据同步到10.5.128.27 用客服端-服务器模式,需要从客户端发起 也就是从10.5.128.27发起 10.5.128.27 作为客户端 10.5.128.19 ...
- Strange Way to Express Integers (一般模线性方程组)
Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 8476 Accepted: 2554 Description Elin ...
- 【字符串】【最小表示法】Vijos P1683 有根树的同构问题
题目链接: https://vijos.org/p/1683 题目大意: 给M棵树,每棵N个点,N-1条边,树边有向,问哪些树同构. 题目思路: [字符串][最小表示法] 用()表示一个节点,那么三个 ...
- page-object使用(1)
创建你的page 你必须做的第一件事情是创建你的page,这是一些包含了PageObject模块的简单的ruby类,请不要创建你自己的initialize方法,因为已经有一个存在而且不能被覆盖.如果你 ...
- CodeForces 588B
题目链接 : http://codeforces.com/problemset/problem/588/B 题目大意: 这个题目的意思就是找出一个数中的因子,这个因子满足以下条件: 1.此数的因子没有 ...
- 高效算法——C 分饼
My birthday is coming up and traditionally I’m serving pie. Not just one pie, no, I have a number N ...