Linux下安裝PHP MSSQL擴(kuò)展教程
PHP天然就對(duì)MySQL有良好的支持,但是想要用PHP對(duì)SQL Server進(jìn)行操作,則需要花點(diǎn)時(shí)間了。今天剛好團(tuán)隊(duì)里的一個(gè)項(xiàng)目需要用PHP對(duì)SQL Server進(jìn)行操作,遂幫忙配置好環(huán)境。
首先說(shuō)明下,服務(wù)器的系統(tǒng)版本為SUSE Linux Enterprise Server 10 SP3。
1. 安裝FreeTDS
地址:FreeTDS
wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar zxvf freetds-stable.tgz
cd freetds-0.82
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix
make && make install
成功安裝完,最好更新下動(dòng)態(tài)連接庫(kù)緩存:
echo "/usr/local/freetds/lib" >> /etc/ld.so.conf
ldconfig
2. 配置FreeTDS及連接測(cè)試
FreeTDS的配置文件放在安裝目錄的etc里,根據(jù)第一步的configure參數(shù),我們FreeTDS安裝在/usr/local/freetds:
vim /usr/local/freetds/etc/freetds.conf
由于不太清楚FreeTDS的具體有哪些可配置項(xiàng),這里就不深入了,但是提供個(gè)比較重要的配置,用來(lái)解決中文亂碼的問(wèn)題。在配置文件添加如下語(yǔ)句:
client charset = utf8
然后,我們使用tsql命令測(cè)試下是否能正常連接上SQL Server數(shù)據(jù)庫(kù):
cd /usr/local/freetds/bin
./tsql -H 192.168.0.254 -p 1433 -U sa -P 123456
正常連接的話應(yīng)該顯示如下語(yǔ)句:
locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
1>
3. 安裝php的mssql擴(kuò)展
服務(wù)器上的php版本為5.3.13,php已安裝在/usr/local/services/php下,擴(kuò)展的目錄為/usr/local/services/php/extensions。下面是安裝mssql擴(kuò)展的方法:
cd php-5.3.13/ext/mssql/
/usr/local/services/php/bin/phpize
./configure --with-php-config=/usr/local/services/php/bin/php-config --with-mssql=/usr/local/freetds
make #生成擴(kuò)展文件,放在當(dāng)前目錄的module文件夾下
cp modules/mssql.so /usr/local/services/php/extensions/ #把擴(kuò)展文件復(fù)制到PHP的擴(kuò)展目錄下
4. 配置php.ini并驗(yàn)證安裝結(jié)果
打開(kāi)php.ini,添加如下擴(kuò)展語(yǔ)句:
extension=mssql.so
重啟PHP服務(wù)后(服務(wù)器用的是php-fpm),打印phpinfo,出現(xiàn)如下配置則代表php能正常操作SQL Server了。

相關(guān)文章
php實(shí)現(xiàn)在多維數(shù)組中查找特定value的方法
這篇文章主要介紹了php實(shí)現(xiàn)在多維數(shù)組中查找特定value的方法,實(shí)例分析了php實(shí)現(xiàn)多維數(shù)組的遍歷及unset刪除的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
php 中獎(jiǎng)概率算法實(shí)現(xiàn)代碼
這篇文章主要介紹了php 中獎(jiǎng)概率算法,需要的朋友可以參考下2017-01-01
PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的完美解決方案分享
今天修改公司的網(wǎng)站,提示Notice : Use of undefined constant ,通過(guò)下面的方法解決了,最好是error_reporting(0);不需要更改配置2012-03-03

