2007年4月30日 星期一

PHP無法連結MSSQL之解決方法

這陣子被這個問題困擾了許久
二台模擬的主機
環境相同但是安裝的資料庫版本不同(MSSQL 2000和2005)
但是程式只能在安裝 MSSQL2000那台上面運作
移到MSSQL2005後就會顯示無法連接資料庫的錯誤訊息
看了一下二台的phpinfo()
都有載入Mssql的擴展
一直想不通為什麼一台可以連一台確不能連結MSSQL
上PHP官網看了一下資料
以為只要載入php_mssql.dll這個擴展就可以了
實際上,PHP在連結SqlServer時還需一個ntwdblib.dll這個東東
PHP5.2.0的安裝包中內含的ntwdblib.dll版本為7.00.839
這個版本無法正常的運作連結SqlServer
所以需要更新ntwdblib.dll版本
但是ntwdblib.dll新的版本要去那下載呢?
只要安裝SqlServer 2000後
$windir\system32 就會包含一個ntwdblib.dll版本8.00.2039
只要將這個版本的ntwdblib.dll替換舊版本後
重新啟動HTTPD即可
另外SqlServer2005安裝後並沒有這個ntwdblib.dll
上網查詢後
大夥也是指向使用SqlServer2000自帶的ntwdblib.dll

【下列文章您可能也有興趣】

沒有留言: