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 ...
随机推荐
- 化简复杂逻辑,编写紧凑的if条件语句
当业务逻辑很复杂,涉及多个条件的真假,或者多种条件下都会执行同一动作时,如何编写紧凑的if语句呢?本文借由一个实际例子,利用数学的布尔逻辑整理条件,最终产生if语句. 问题 在<X3 重聚> ...
- 清除html的标签和行内样式
function shieldStyle(){ this._styleStartArr=["<span","<p","<strong ...
- 查看Ubuntu操作系统位数
查看系统是32位还是64位 #查看long的位数,返回32或64 getconf LONG_BIT
- 关于判断变量是否为null的顺序问题。
if("y".equals(other)){ } 其中,other字符串变量可能为Null,可以加一个null判断或者将常量写在前面,变量写在equals后面.如果将变量other ...
- IOS中UIButton和UIImageView的区别
1.使用场合 UIImageView:如果仅仅是为了显示图片,不需要监听图片的点击事件 UIButton:既要显示图片,又要监听图片等点击事件 2.相同点 都能显示图片 3.不同点 UIButton能 ...
- 禁用窗体关闭按钮(使用GetWindowLong修改GWL_STYLE)
一般我们不想让窗体能够关闭, 首先想到的是在OnCloseQuery事件里设置CanClose := False, 不过在某些情况下这个会和程序关闭窗体的业务逻辑产生冲突 所以写了下面这个函数, 可以 ...
- Python4Delphi也是与VCL密切相关,所以才能相互调用,绝对有研究价值!
Python4Delphi也是与VCL密切相关,所以才能相互调用,绝对有研究价值! http://www.cnblogs.com/GarfieldTom/archive/2013/01/17/2864 ...
- 如何开发Android Wear应用程序
Android Wear是连接安卓手机和可穿戴产品的一个平台.自从今年上半年发布以来,Android Wear获得了大量关注,既有来自消费者的关注,也有来自开发商的关注,后者希望自己的应用程序已经准备 ...
- AOP小结
AOP主要采用代理模式来实现的,静态代理(设计模式中的代理模式),动态代理(反射机制,实现InvocationHandler接口),cglib实现(采用继承方式,针对目标类生成子类,并覆盖方法进行增强 ...
- 使用spring-amqp结合使用rabbitmq
maven 依赖包配置如下: <dependencies> <dependency> <groupId>org.springframework.amqp</g ...