• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    Linux下php連接sqlserver的辦法

    發布時間:  2012/8/3 17:12:13

    提出問題
    前幾天做了一個非常奇怪的項目,我公司開發了一套基于中國聯通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() 那說明仔細看上面的安裝配置過程看你哪一步沒有對。
    注意:sqlserver名稱是在/usr/local/freetds/etc/freetds.conf中定義的host參數,如果你寫的IP地址,就是IP地址。
    其他數據庫操作參考相關mssql函數
    注意,在sql語句中不支持中文!!!
    第六步:調試
    如果出現不能連接,請在freetds配置文件中找到;dump file = /tmp/freetds.log這一行,注釋掉前面的分號,再執行一下測試腳本,察看/tmp/freetds.log文件,它可以告訴你很多出錯的信息幫助你排除問題。
     


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線