前言
一定要重新編譯安裝,之前是用lnmp安裝,ext目錄下都有.so檔案,一直在配置檔案上修改,結果耗費了幾個小時,如果之前安裝了FreeTDS的
先yum search 查找,然後yum remove就可以。
1、環境說明
OS:CentOS 7.0 64位 AP:nginx1.8.0 語言:php版本:php5.3.28 DB:Sqlserver 2008
2、FreeTDS安裝過程
2.1 編譯安裝FreeTDS
下載下傳位址: http://download.csdn.net/detail/high5/9459575
安裝FreeTDS:
# tar -zxvf freetds-patched.tar.gz
# cd freetds-0.95.19
需要注意的就是這裡的--with-tdsver=7.1。
# ./configure --prefix=/usr/local/freetds --with-tdsver=7.1 --enable-msdblib
# make && make install
2.2 配置FreeTDS
# cd ../
# echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf
# ldconfig
# /usr/local/freetds/bin/tsql -H 資料庫伺服器IP:XXX -p 1433 -U 使用者名 -P 密碼
或者直接
# /usr/local/freetds/bin/tsql -H 資料庫伺服器IP -p 1433 -U 使用者名 -P 密碼
# cd /usr/local/freetds/etc/freetds.conf
# vim vim freetds.conf
[Server2008] [程式中調用]
host = 127.0.0.1 【sql server伺服器IP位址】
port = 8053 【sql server服務端口】
tds version = 7.1【版本】
client charset = utf8
3、增加PHP擴充pdo的pdo_dblib 【最關鍵一步】
3.1 安裝mssql.so
一定要到這個目錄下:
# cd /usr/local/src/lnmp1.1-full/php-5.3.28/ext/mssql/ [php安裝包的ext檔案夾]
linux下用phpize給PHP動态添加擴充
# /usr/local/php/bin/phpize 【運作這個指令】
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/
# make && make install
同理:
# cd /usr/local/src/lnmp1.1-full/php-5.3.28/ext/pdo_dblib/ [php安裝包的ext檔案夾]
linux下用phpize給PHP動态添加擴充
# /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檔案中增加
extension="mssql.so"
extension="pdo_dblib.so"
4、重新開機php-fpm,nginx。