php連線sql server資料庫(sqlsrv)完整解決方案
阿新 • • 發佈:2019-02-02
平生最煩的就是交接別人亂寫的專案
一次性交接四五個半成熟專案我也是真心頭大
最近老闆讓我交接了一個專案與工行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 提供程式: 由於目標計算機積極拒絕,無法連線
這個不要擔心,只是使用者名稱密碼之類的值填寫有問題