首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 連接 MSSQL 失敗「Unable to connect to server」的解決方案

     編輯:PHP 相關知識

典型錯誤現象

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: localhost

根因分析

PHP 自帶的 ntwdblib.dll 版本為 7.0(用於 SQL Server 7.0),而目標數據庫為 SQL Server 2000/2005/2008,協議不兼容導致連接失敗。

Windows 修復步驟

  1. 找到 SQL Server 安裝目錄下的 ntwdblib.dll(通常在 C:\Program Files\Microsoft SQL Server\80\Tools\Binn\),版本應為 2000.80.xxx。
  2. 複製該文件覆蓋 PHP 目錄下的同名文件(如 C:\php\ntwdblib.dll)。
  3. 同時複製到系統目錄 C:\Windows\System32\(備用)。
  4. 重啟 IIS/Apache 服務。

進階調試技巧

<?php
$conn = mssql_connect('localhost', 'sa', 'password') or die('連接失敗');
echo mssql_get_last_message(); // 獲取詳細錯誤信息
?>

現代替代方案(強烈推薦)

  • Microsoft Drivers for PHP for SQL Server (sqlsrv/pdo_sqlsrv):官方維護,支持 SQL Server 2008+、Linux/macOS、PHP 7/8、Always Encrypted、UTF-8 原生。
    安裝:pecl install sqlsrv pdo_sqlsrv
  • ODBC + PDO_ODBC:通用標準,配合 Microsoft ODBC Driver 17/18。
  • ADODB 庫:虛擬主機無權安裝擴展時的純 PHP 兼容層。

遺留項目維護提示

若必須繼續使用古老 mssql 擴展(PHP 5.3 後已移除),請鎖定 PHP 5.2 版本並在隔離環境運行,規劃遷移路線圖。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved