| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 编程开发 > PHP教程 > 高级应用教程 > 文章正文 用户登录
lizus:个人博客网
TOM ULINK新闻联盟
T2Click已升级 请
T2click:我爱卡(
T2click:商机热线
DoubleClick终将花
TinyURL免费缩短网
苏能科技100M/FTP
全球著名社区网站
Flash Remoting -

Linux 下 PHP 连接 MS SQLServer 的办法           

Linux 下 PHP 连接 MS SQLServer 的办法

作者:佚名 来源:不详 更新:2006-8-25 21:05:35 错误报告 我要投稿
 作者:任品吉
  提出问题
  前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息
服务软件,提供联通130短信服务。这套系统是Windows 2000下的,数据库采用的是微软
SQLServer2000,并且已经正常运行了一段时间。而最近由于要在WEB上提供短消息用户的一
些信息,就需要从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应该是微软
IIS ASP服务端脚本,但我公司一向认为IIS+ASP的稳定性和安全性都不尽如意,希望能够在
  分析问题
  本来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的
  第二步:重新编译PHP4
  ./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds(请
  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’
  echo $link;
  在浏览器中运行上面脚本, 如果你得到一个link号那么恭喜,你已经配置好了,如果出
现Call to undefined function: mssql_connect() 那说明仔细看上面的安装配置过程看你哪
  注意:sqlserver名称是在/usr/local/freetds/etc/freetds.conf中定义的host参数,如
  其他数据库操作参考相关mssql函数
  注意,在sql语句中不支持中文!!!
  第六步:调试
  如果出现不能连接,请在freetds配置文件中找到;dump file = /tmp/freetds.log这一行
,注释掉前面的分号,再执行一下测试脚本,察看/tmp/freetds.log文件,它可以告诉你很多
出错的信息帮助你排除问题。
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。