新客网
首页 | 新闻 | 系统·网络·服务器·安全 | 工具·办公 | 编程·数据库 | 图象·网页·运营 | 硬件·存储 | 专题教程 | 论坛·old
 → 当前位置:首页 > 教程 > 编程开发 > PHP教程 > 正文

Linux 下PHP连接MS SQLServer 的办法

XKER.COM   2006-10-27 10:42:23  来源:ccw  点击:

  作者:任品吉
  
  提出问题
  
  前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息服务软件,提供联通130短信服务。这套系统是Windows 2000下的,数据库采用的是微软SQLServer2000,并且已经正常运行了一段时间。而最近由于要在WEB上提供短消息用户的一些信息,就需要从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应该是微软IIS ASP服务端脚本,但我公司一向认为IIS+ASP的稳定性和安全性都不尽如意,希望能够在Linux下用PHP脚本读写SQLServer。
  分析问题
  
  本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windows和Windows IIS下可以工作的很好,一般可以通过ODBC或SQLServer Client连接,这都是Windows下面现成的。但是在Linux下面没有现成的ODBC和SQLServer Client,需要我们自己安装。
  解决问题
  
  一、相关软件
  freetds 来源:ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz
  这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库。
  二、安装配置步骤
  第一步:编译安装freetds:
  得到freetds-0.53.tgz后
  cp freetds-0.53.tgz /tmp/. (拷贝freetds包到/tmp目录)
  cd /tmp (进入目录)
  tar zxvf freetds-0.53.tgz (解压)
  cd freetds-0.53 (进入解压后目录)
  ./configure –prefix=/usr/local/freetds --with-tdsver=7.0
  gmake (生成Makefile,我试验过,make也可以)
  gmake install (安装)
  关于上面configure我想说一下,--prefix=/usr/local/freetds是指安装到/usr/local/freetds这个目录中,--with-tdsver=7.0是指安装tds 7.0版本(最开是我没有加这个编译参数,结果按照默认编译为5.0。5.0连接数据库的端口是4000,不是SQLServer的1433)
  第二步:重新编译PHP4
  ./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds(请注意是sybase)
  make
  make install
  第三步:配置freetds
  vi /usr/local/freetds/etc/freetds.conf
  具体配置见该文件中的说明
  例: (典型配置)
  [sqlserver]
  host = sql_server_name_or_host_ip (你的SQLServer机器名字或者IP地址)
  port = 1433
  tds version = 7.0
  在这个配置文件中可以配置Windows域登陆或者SQLServer账号登陆两种方式
  第四步:配置php.ini文件
  找到 ;extension=mssql70.so
  将注释;去掉成
  extension=mssql70.so
  第五步:在php中建立数据库连接
  $link=mssql_connect("sqlserver",$your_username,$your_password) or die (“can’t Connect to Database”);
  echo $link;
  在浏览器中运行上面脚本, 如果你得到一个link号那么恭喜,你已经配置好了,如果出现Call to undefined function: mssql_connect() 那说明仔细看上面的安装配置过程看你哪一步没有对。www.xker.com()
  注意:sqlserver名称是在/usr/local/freetds/etc/freetds.conf中定义的host参数,如果你写的IP地址,就是IP地址。
  其他数据库操作参考相关mssql函数
  注意,在sql语句中不支持中文!!!
  第六步:调试
  如果出现不能连接,请在freetds配置文件中找到;dump file = /tmp/freetds.log这一行,注释掉前面的分号,再执行一下测试脚本,察看/tmp/freetds.log文件,它可以告诉你很多出错的信息帮助你排除问题。
上一篇教程:深入探讨PHP中的内存管理问题
下一篇教程:Linux下用PHP4连接ORACLE8I的方法
收藏本文】 【我要投稿】 【打印本文】 【论坛讨论】 【关闭窗口

相关文章
·电子邮局PHP应用篇——POP3邮件的收取(二)·电子邮局PHP应用篇——POP3邮件的收取(一) 
·PHP的应用——聊天室开发完全手册(三)·PHP的应用——聊天室开发完全手册(二) 
·PHP的应用——聊天室开发完全手册(一)·LINUX环境中用PHP构建网站:用递归函数写论坛
·LINUX环境中用PHP构建网站:用户的登入认证·LINUX环境中用PHP够建网站:新闻发布系统
·LINUX环境中用PHP构建网站:搜索引擎的实现·用 Oracle AS 10g 为PHP提供的一次性登录
·PHP中英文混合排版中处理字符串常用的函数·多个字段,大量记录的插入操作技巧(PHP)
·用PHP构建一个简易监视引擎·php高手进阶:写一个用户在线显示的程序
·在PHP开发过程中实现验证码一法·在PHP中实现文件的上传功能

学院文章搜索
  
推荐文章
·嵌入式Linux操作系统启动信
·网页设计配色应用实例剖析
·如何安全安装Vista系统
·Photoshop巧绘制非洲菊
·简简单单用软件给MP3掐头去
·ASP初学者常用源代码总结篇
·利用异常表处理Linux内核态
·Linux命令行下如何配置nVI
·如何实现Linux与windows的
·秘籍:右键菜单终极锤炼术
阅读排行
·免费代理IP(每日更新)
·流氓网站招招看 详细剖析恶
·轻松恢复硬盘数据 EasyRec
·DOS下对系统重新进行分区
·清除猖狂的Sxs.exe病毒
·DOS常用命令
·编程过把瘾:自己动手写操
·windows下如何修改右键菜单
·DOS下常用的相关网络命令
·SQL Server安装文件挂起错
专题教程
·MySQL 专题
·数据恢复指南 专题
·Web服务器专题
·DB2 9数据库专题
·ghost教程 专题
·局域网技术专题
·虚拟机专题
·CDN加速技术专题
·注册表教程专题
·电脑技巧 专题
最新文章
·电子邮局PHP应用篇——POP
·电子邮局PHP应用篇——POP
·PHP的应用——聊天室开发完
·PHP的应用——聊天室开发完
·PHP的应用——聊天室开发完
·LINUX环境中用PHP构建网站
·LINUX环境中用PHP构建网站
·LINUX环境中用PHP够建网站
·LINUX环境中用PHP构建网站
·用 Oracle AS 10g 为PHP提
设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003 - 2006 XKER Inc. All Rights Reserved
新客网 版权所有