linux編譯安裝mssql用戶端和配置php串連mssql

來源:互聯網
上載者:User

標籤:linux   用戶端   

凡是串連資料庫,必須安裝用戶端,我一般寫部落格都不寫原理,但是後來發現回頭看自己寫的自己都看不懂,所以這章部落格會多一點原理性的東西。


資料庫的串連一般都是在用戶端上完成的,MySQL也不例外,安裝mysql時一般都會這麼安裝:

#yum install mysql mysql-server

上面的mysql就是安裝的用戶端,mysql-server就是服務端,不安裝用戶端(mysql)就沒辦法執行mysql串連命令:mysql -u user -p pass -h -P port 

而sqlserver同樣需要用戶端,下面講的就是在linux下安裝sqlserver 2008的用戶端freetds


安裝環境:

#centos6.8#php5.6#sqlserver2008


  1. 下載freetds,一般都會在官網下載,這個開源的想必沒人會用盜版。


wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz#linux下載有點慢,可以在windows上下載,然後再上傳至linux上。tar zxf freetds-patched.tar.gzcd freetds-1.00.27./configure --prefix=/usr/local/freetds --with-tdsver=7.3 --enable-msdblibmake && make install


2.匯入ldconfig

 echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf ldconfig


3.查看安裝的版本: 

/usr/local/freetds/bin/tsql -C

4.測試能否串連sqlserver:

/usr/local/freetds/bin/tsql -H 10.10.10.10 -p 1433 -U sa -P password

5.添加PHP擴充mssql和pdo_dblib,這是php兩種串連mssql的方式,只安裝mssql也可以。

注意:一般安裝php會選擇兩種方式,一種是編譯安裝,一種是yum安裝。下面分別來講解兩種方式的安裝方式:

1)yum安裝的php

#很簡單,直接yun安裝mssql外掛程式即可:

yum install php-pdo -yyum install php-mssql -y

2)編譯安裝的php

#進入到php的安裝包中,安裝mssql外掛程式
cd /home/tools/php-5.6.20/ext/mssql//usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/ make && make install


#安裝pdo_dblibcd /home/tools/php-5.6.20/ext/pdo_dblib//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds/make && make install

在php.ini中添加mssql和pdo_dblib:

mv /usr/local/php/lib/php/extensions/no*/mssql /usr/local/php/lib/php/extensions/mv /usr/local/php/lib/php/extensions/no*/pdo_dblib /usr/local/php/lib/php/extensions/#把前面安裝的擴充外掛程式產生的檔案移動到extension目錄下vi /usr/local/php/lib/php.iniextension_dir = "/usr/local/php/lib/php/extensions"extension = "mssql.so"  extension = "pdo_dblib.so"


3)重啟php,看擴充外掛程式有沒有生效:

#編譯一個php測試檔案:

vi /www/html/test.php<?phpphpinfo();?>

用瀏覽器開啟上面的測試檔案,會看到如下資訊,代表成功安裝:

http://ip/test.php

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/95/E2/wKiom1kauemDpP72AAC6lkTfzxw811.jpg" title="搜狗17年05月16日1635_1.jpg" alt="wKiom1kauemDpP72AAC6lkTfzxw811.jpg" />


6.測試mssql串連sqlserver2008:

#編輯一個測試檔案:

vi /www/html/connect_sql.php<?php  header("Content-type: text/html; charset=utf-8");    $msdb=mssql_connect("10.10.10.10:1433","sa","password");  if (!$msdb) {      echo "connect sqlserver error";      exit;      }  mssql_select_db("test",$msdb);  $result = mssql_query("SELECT top 5 * FROM student", $msdb);  while($row = mssql_fetch_array($result)) {   print_r($row);  }  mssql_free_result($result);  ?>

#如果內容是sqlserver test資料庫,student表內的內容代表php成功串連到資料庫。


7.測試pdo_dblib串連sqlserver2008:

#建立一個測試檔案vi /www/html/connect_db.php<?php  header("Content-type: text/html; charset=utf-8");    try {      $hostname = "10.10.10.10";      $port = 1433;      $dbname = "test";      $username = "sa";      $pw = "password";      $dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");    } catch (PDOException $e) {      echo "Failed to get DB handle: " . $e->getMessage() . "\n";      exit;    }       $stmt = $dbh->prepare("SELECT top 5 * FROM student");    $stmt->execute();    while ($row = $stmt->fetch()) {      print_r($row);    }    unset($dbh); unset($stmt);    ?>

#如果內容是sqlserver test資料庫,student表內的內容代表php成功串連到資料庫。


本文出自 “王家東哥” 部落格,謝絕轉載!

linux編譯安裝mssql用戶端和配置php串連mssql

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.