在Linux上安裝freetds作為PHP連線mssql的擴充套件
之前接的一個小專案,資料庫是ms sql,但WEB伺服器要求是linux,開發語言是PHP。所以搗騰了一下,留個記錄:
1、開啟http://www.freetds.org/,進入到http://www.freetds.org/software.html頁面.下載
ftp://ftp.freetds.org/pub/freetds/current/freetds-current.tar.gz
下載好freetds檔案:freetds-current.tar.gz
解壓檔案 tar -zxvf ./freetds-current.tar.gz
cd freetds-dev.0.99.557
./configure --prefix=/usr/local/freetds --enable-msdblib
make
make install
vim /usr/local/freetds/etc/freetds.conf
輸入:
client charset = GBK
儲存
然後:
vim /etc/ld.so.conf
輸入:
/usr/local/freetds/lib
儲存
執行ldconfig讓配置生效
執下命令檢視freetds是否成功:
/usr/local/freetds/bin/tsqltsql -C
出現以下內容則為安半成功:
接著執行以下命令,測是否可以連上mssql
/usr/local/freetds/bin/tsql -H 您的mssql資料庫IP -p 1632 -U sa -P
安裝PHP的freetds擴充套件
進入安裝的PHP原始碼的目錄對應的mssql擴充套件如:
cd /data/soft/php-5.4.41/ext/mssql
先執行:
/usr/local/php/bin/phpize
然後執行(注意PHP的安裝目錄,以及freetds的安裝目錄)
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make
make install
接著修改php.ini檔案(php5.4的執行完上面的操作會自動把新生成的擴充套件複製到PHP的目錄裡去的。
如果檢視到php的目錄裡沒有,則在php原始碼對應模組的module目錄裡有對應的*.so檔案,
把對應的檔案複製到PHP的安裝目錄/usr/local/php/lib/php/extensions/中就可以了。)
php5.4之後已經自動把擴充套件複製到了:/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/mssql.so
所以這裡只需要修改php.ini裡的擴充套件配置,把下面的內容加入到配置裡就可以了
vim /usr/local/php/etc/php.ini
輸入:
extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/mssql.so"
儲存
然後重啟WEB服務即可