關于PHP連接SQL Server

配置PHP與SQL Server的連接:

原本計劃在NIIT課上將PHP與SQL Server的連接問題解決,但是忙活了兩節(jié)課,收效甚微。查閱了大量的資料,也采用了多種方式,仍然沒能將兩者連接起來。報的錯誤也是非常讓人頭痛 “XXX方法不存在”。

先后采取的方法:

1. php_mssql.dll:
  • 通過修改php.ini,將 extension=php_mssql.dll 前面的分號刪除。
  • 將mssql_secure_connection=Off改為On,
  • 重啟Apache。

結果仍然報錯,mssql_connect()方法不存在。我按照另外一個博客主所寫的博文,找到php的ext文件夾,結果卻發(fā)現(xiàn)該文件夾內沒有php_mssql.dll文件以及ntwdblib.dll文件。

配置php:

  • a、打開php.in將extension=php_mssql.dll的注釋符號去掉。
  • b、打開php.in將mssql.secure_connection = Off改為on。
  • c、將php_mssql.dll拷貝到php.in中extension_dir 指定的目錄或者系統(tǒng)system32目錄下。 (php_mssql.dll在php的壓縮安裝包中有)。
  • 以上步驟完成后需要重啟apache。
    注意:實際使用中發(fā)現(xiàn) 如果通過php壓縮文件手工安裝php到iis下,必須重啟機器而不僅僅是iis。

當我將這兩文件都下載并放置到指定文件夾后,仍然報相同的錯。此外,又有其他的教程,將php_mssql.dll 和 ntwdblib.dll 文件放置到系統(tǒng)盤的System32文件夾內。雖然我不認為這么做能解決該問題,但我還是照做了,結果仍然是報錯。

2. sqlsrv:

后來終于找到一份不錯的教程,并且根據(jù)該教程終于成功地讓xampp集成中的php擴展了sqlsrv。特附上鏈接 php如何連接sql server

  1. 先到微軟網站下載 SQL Server Driver for PHP(在這一步,我犯了一個錯,沒有導入與PHP版本相對應的擴展文件),獲得一個自解壓文件,解壓縮后得到如下幾個文件(截圖上網找的,版本有些落后):


    解壓后的內容
    • 擴展文件的 數(shù)字 代表與之對應的PHP版本,例如php_sqlsrv_52_nts_vc6.dll對應于php5.2。
    • 擴展文件的 nts 標識代表對應PHP版本是非線程安全。
    • 擴展文件的 ts 標識代表對應PHP版本是線程安全。

    因為沒有導入匹配的擴展文件,所以導致我仍然沒能在php中成功擴展 php_sqlsrv。

  2. 將擴展文件拷貝到php/ext目錄下(目前下載的擴展文件是一個exe文件,能夠自動安裝,只要你指定安裝路徑為php/ext,安裝結束后就會自動拷貝到php/ext目錄下)。

  3. 在php.ini文件,添加以下代碼:

    • extension=php_sqlsrv_56_ts.dll(在ext目錄的pdo擴展)
    • extension=php_pdo_sqlsrv_56_ts.dll(在ext目錄的擴展)
  4. 重啟Apache,打開phpInfo();如果能夠看到:

    phpinfo() - sqlsrv

    那么代表你已經成功地擴展了sqlsrv。

  5. 微軟官網下載 MicroSoft ODBC SQL Server 11 Driver(具體名字,我也忘了),最后會得到一個msodbcsql.msi的文件,雙擊安裝即可。但需要注意,下載和電腦相同類型的文件,如果你的電腦是32位,那么就下x86后綴的文件;如果是64位,就下載X64后綴的文件。

  6. 以上就是PHP配置的所有內容,如果仍然無法和SQL Server連接,那么你需要檢查下SQL Server的配置以及你請求的路徑、數(shù)據(jù)庫名稱、賬號與密碼是否有誤。

后續(xù)總結:

關于SQL Server的配置,在此我就不多說了,網絡上都有相關的資料,并且非常容易找到。不過我還是說一點:當我已經成功擴展sqlsrv,卻還是無法連接到數(shù)據(jù)庫時(其實是我沒有寫好數(shù)據(jù)庫連接的信息......),一些資料讓我去下載Microsoft SQL Native Client,然而通常情況下,安裝SQL Server的時候是會自動安裝MSNC,因此我覺得造成連接不到數(shù)據(jù)庫的原因不是MSNC。

附:sqlstate 08001的處理方式

為了免去大家找尋資料麻煩,我已經將上述所需的安裝包上傳到百度云盤,大家可以直接去下載。

附:傳送門

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容