当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:20:00  来源:本站整理

Linux下PHP衔接MS SQLServer的办法[MSSQL防范]

赞助商链接



  本文“Linux下PHP衔接MS SQLServer的办法[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

提出问题

前几天做了一个非常奇特的项目,我公司开辟了一套基于中国联通SGIP协议的SP端短消息服务软件,供应联通130短信服务.这套系统是Windows 2000下的,数据库采取的是微软SQLServer2000,并且已经正常运行了一段时间.而近来由于要在WEB上供应短消息用户的一些信息,就需求从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应当是微软IIS ASP服务端脚本,但我公司一向认为IIS+ASP的安定性和安全性都不尽快意,但愿可以在Linux下用PHP脚本读写SQLServer.

解析问题

本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windowsWindows IIS下可以工作的很好,普通可以通过ODBC或SQLServer Client衔接,这都是Windows下面现成的.但是在Linux下面没有现成的ODBC和SQLServer Client,需求我们自己安装.

办理问题

1、相关软件

freetds 根源:ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz

这个软件可以用Linux和Unix衔接MS SQLServer和Sybase数据库.

2、安装配置步骤

第一步:编译安装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() 那阐明细心看上面的安装配置历程看你哪一步没有对.

注意:sqlserver名称是在/usr/local/freetds/etc/freetds.conf中定义的host参数,假如你写的IP地址,就是IP地址.

其他数据库操作参考相关mssql函数

注意,在sql语句中不支持中文!!!

第六步:调试

假如呈现不能衔接,请在freetds配置文件中找到;dump file = /tmp/freetds.log这一行,注释掉前面的分号,再履行一下测试脚本,察看/tmp/freetds.log文件,它可以奉告你很多出错的信息帮忙你解除问题.
(e129)

  以上是“Linux下PHP衔接MS SQLServer的办法[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • windows下的近似linux下的grep号令--findstr
  • linux下mysql链接被防火墙禁止的办理办法
  • Linux下mysql新建账号及权限设置办法
  • SUSE Linux下搭建Web服务器
  • Windows/Linux MySQL忘掉密码重置密码教程
  • Linux下Apache自动监测重启脚本(智能化程度较高)
  • linux备份 linux克隆 linux clone
  • <b>为什么 Linux不需求碎片整理</b>
  • CentOS6 yum搭建Linux+Nginx+PHP+MYSQL(LNMP)
  • Linux系统有效防备ARP攻击
  • Linux下 Memcache的安装和简单管理
  • 笔记本预装linux重装成windows系统
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .