1. 程式人生 > >php連線sql server資料庫(sqlsrv)完整解決方案

php連線sql server資料庫(sqlsrv)完整解決方案

平生最煩的就是交接別人亂寫的專案
一次性交接四五個半成熟專案我也是真心頭大
最近老闆讓我交接了一個專案與工行e支付做對接,由於連線測試app頻頻出現問題,並且溝通成本比較大。甲方爸爸一怒之下要求直接上正式環境,於是出現了下面一系列心酸史

環境:windows server 2008;php5.5n;sql server 2008;IIS;

本文與大家分享一下關於php連線sql server資料庫出現的一系列問題

下載安裝sqlsrv擴充套件

選擇對應的php版本與作業系統版本

這裡寫圖片描述
這裡寫圖片描述

這裡需要選擇對應的php版本進行下載,對於第一次下載的小白來說……(通通下載^_^)
這裡寫圖片描述

安裝擴充套件

找到對應的sqlsrv擴充套件
例如:

php_sqlsrv_7_ts_x64.dll
php_pdo_sqlsrv_7_ts_x64.dll

將擴充套件拷貝到兩處

  • php.ini中extension_dir所指定的檔案中(一般為ext資料夾)
  • 系統所在盤的system32中

在php.ini中增加擴充套件連線(為了方便管理可以在在extension=php_mysql.dll 下面一行新增)

extension=php_sqlsrv_7_ts_x64.dll
extension=php_pdo_sqlsrv_7_ts_x64.dll

重啟環境 phpinfo()輸出

這裡寫圖片描述

這種小問題難不倒我!讓我們測試一下成果吧….

ODBC Driver 11 for SQL Server

這裡寫圖片描述

emmmm

不難理解讓我們下載安裝ODBC(還好地址也給了,要不然我會真的崩潰的,難道這就樂極生悲嗎^_^)

腦補了一下

對於SQL Server資料庫來說,如果PHP >= 5.3以後,PDO_DBLIB是不能使用了的,但是可以使用PDO_ODBC來連線。

安安安,你說啥就是啥,都聽你的…

SQLSTATE[08001]

SQLSTATE[08001]: [Microsoft][ODBC Driver 11 for SQL Server]TCP 提供程式: 由於目標計算機積極拒絕,無法連線

這個不要擔心,只是使用者名稱密碼之類的值填寫有問題
這裡寫圖片描述