標籤:
mssql的遠端連線需要在在sql伺服器端做很多配置,這裡先略過,這裡只講下linux伺服器方面的配置.
centos7裡首先需要安裝freeTDS,這是一個類庫,可以提供從linux下訪問sql server的功能.php的mssql和pdo-mssql都需要通過freetds來串連sql server.
安裝很簡單:
http://www.freetds.org/ 下載,下載完成 tar一下嘛,然後configure然後make && make install,這都是老套路了,唯一注意的是 configure的參數
./configure --prefix=/usr/local/freetds --enable-msdblib --with-tdsver=8.0
--with-tdsver這個不能丟,不同的freetds版本串連sqlserver連接埠不同, --enable-msdblib是安裝php-mssql的必選項.
安裝完成後cd /usr/local/freetds/etc,vim一下freetds.conf,增加一個mssql的伺服器設定項,上面有樣本,也很簡單,
注意的是:
dump file = /tmp/freetds.log” #前面的冒號去掉,開啟這個log日誌
tds version = 7.1 #我設定的是7.1,開啟log日誌一看,串連的是1433連接埠,設定8.0,串連的卻不是1433連接埠,大家可以自己試下
記住新設定的名字,後面會用到這個名字的.如:
[yunda]
host = xxx.xxx.xxx.xxx
port = 1433
tds version = 7.1
這個yunda 就是後面要用到的名字.
下來安裝php的mssql擴充,沒有原始碼的找個php同版本的原始碼下載下來.
進入原始碼目錄/ext/mssql目錄.
/usr/bin/php/phpize
./configure --with-php-config=/opt/lampp/bin/php-config --with-mssql=/usr/local/freetds/
make && make install
注意的是,這個php-config可不是你的php設定檔php.ini的位置,這個就是php-config檔案的位置.
然後把mssql.so添加到php.ini裡
echo extension=mssql.so >> /opt/lampp/etc/php.ini
重啟動一下服務就可以了,在串連是的時候填寫
mssql_connect("yunda","sa","xxxxxxx")
如果你要串連dblib,進入php原始碼目錄的php-dblib
/opt/lampp/bin/phpize ./configure --with-php-config=/opt/lampp/bin/php-config --with-pdo-dblib=/usr/local/freetds/ make && make install cp /opt/lampp/php-5.5.24/ext/pdo_dblib/modules/pdo_dblib.so /usr/lib64/php/modules/pdo_dblib.so echo extension=pdo_dblib.so >> /opt/lampp/etc/php.ini 重啟動服務
centos7下的php+mssql遠端連線