mac下 MAMP PRO的php 連接 sqlserver 的步驟和前提

我的操作環境

       系統:MAC OS X 10.11.3 (El Capitan)   

       PHP版本:php7.2.1 (nts) 

       MAMP PRO:  version4.4.1(9605)

       遠程數據庫:microsoft sql server 2008R2

目標:

        PHP連接遠程sqlserver 2008R2

連接前提:

        1)裝好拓展 msodbc

        2)裝好拓展 sqlsrv

        3)  裝好拓展 pdo_sqlsrv

建議按順序安裝吧!

這幾個拓展不按順序安裝也可,我是裝好了sqlsrv、pdo_sqlsrv,執行php代碼連接數據報錯缺少msodbc拓展才接着裝msodbc

 

以下未具體安裝過程:

 

sqlsrv dirver for php需要msodbc driver的支持,所以先安裝msodbc driver

 

以下安裝msodbc driver

查看msodbc driver拓展支持的系統版本:

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/system-requirements?view=sql-server-ver15

 

官網給的安裝說明:https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos?view=sql-server-ver15

         使用以下命令在 OS X 10.11 (El Capitan) 和 macOS 10.12 (Sierra) 上安裝 Microsoft ODBC Driver 13.1 for SQL Server

# 安裝homebrew ,已安裝跳過
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

#切換homebrew源
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release 

brew update 
#安裝msodbcsql
brew install [email protected] [email protected]

 

我執行的命令行:

xian:~ web_02$ brew install [email protected] [email protected]
Updating Homebrew...
Warning: microsoft/mssql-release/[email protected] 13.1.9.2 is already installed and up-to-date
To reinstall 13.1.9.2, run `brew reinstall [email protected]`
Warning: microsoft/mssql-release/[email protected] 14.0.6.0 is already installed and up-to-date
To reinstall 14.0.6.0, run `brew reinstall [email protected]`
xian:~ web_02$ brew reinstall [email protected]
Warning: You are using macOS 10.11.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or IRC. You are responsible for resolving any issues you
experience while you are running this old version.

==> Downloading https://download.microsoft.com/download/F/D/1/FD16AA69-F27D-440E
Already downloaded: /Users/web_02/Library/Caches/Homebrew/downloads/c7aeb722f09de55d4d381de5aa0425b4a82e3d41191641ec991b5b2cf75bd989--mssql-tools-14.0.6.0.tar.gz
==> Reinstalling microsoft/mssql-release/[email protected] 
Warning: Your Xcode (6.1.1) is outdated.
Please update to Xcode 8.2.1 (or delete it).
Xcode can be updated from the App Store.

The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/local/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.

Do you accept the license terms? (Enter YES or NO)
YES
🍺  /usr/local/Cellar/[email protected]/14.0.6.0: 11 files, 1.1MB, built in 1 minute 14 seconds
xian:~ web_02$ 

如果報錯如下,那就是xcode版本太低,要更新xcode

             Warning: Your Xcode (6.1.1) is outdated.
             Please update to Xcode 8.2.1 (or delete it).
             Xcode can be updated from the App Store.

以下是更新xcode的說明,如果不報這個錯可跳過:

       下載Xcode地址:https://developer.apple.com/download/more/

       下載需要蘋果id和密碼

       我下載位置:/Users/web_02/Downloads/Xcode_8.3.3.xip,

       命令行運行以下命令去除雙重認證:參考

                    cd /Users/web_02/Downloads/

                    xattr -d com.apple.quarantine Xcode_8.3.3.xip

       雙擊Xcode_8.3.3.xip解壓, 可能報錯如下:

       xip 解壓命令:    xip --expand Xcode_8.3.3.xip

xian:Downloads web_02$ xip --expand Xcode_8.3.3.xip

xip: signing certificate was "Software Update" (validation not attempted)

xip: error: The operation couldn’t be completed. cpio read error: Undefined error: 0

       xip 解壓報錯:cpio read error: Undefined error: 0

       這是因爲系統版本低,要求MAC OS X 10.11.4 (El Capitan) 以上

       我更新到MAC OS X 10.11.6 (El Capitan) 

       升級系統後,雙擊Xcode_8.3.3.xip解壓, 解壓可能會很慢,如下:

       解壓後

雙擊報錯版本不對:

        應用程序“Xcode”的這個版本不能與此版本的 OS X 配合使用。

        您使用的是 OS X 10.11.6。該應用程序要求 OS X 10.12 或更高版本。

好吧,我下載Xcode_8.2.1.xip 

重複上面的解壓操作

解壓後 

   

雙擊打開解壓後的Xcode,這裏“正在驗證”會很慢

覆蓋舊版本的Xcode

安裝msodbc拓展,執行以下命令,你最好安裝上面提到的官網安裝步驟走一次,我走過就不重複了

裝msodbcsql 13

      brew install [email protected] [email protected]

裝msodbcsql17

      HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools       

 重要

如果安裝了暫時可用的 v17 msodbcsql 包,應先刪除它,再安裝 msodbcsql17 包。 這樣可避免衝突。 msodbcsql17 包可以與 msodbcsql v13 包並行安裝。

 

以下安裝sqlsrv driver for php

 

查看sqlsrv driver for php 的版本支持:

查看地址:https://docs.microsoft.com/en-us/sql/connect/php/microsoft-php-drivers-for-sql-server-support-matrix?view=sql-server-ver15

我係統最高支持的版本是  5.3,所以選擇sqlsrv driver for php 的5.3版本的

下載地址鏈接 :https://github.com/Microsoft/msphpsql/releases

這個鏈接中找到想要的版本,我要的5.3.0

點擊Assets展開,找到你要的版本,我的是Mac-7.2.tar

安裝sqlsrv driver for php :

         1)源碼安裝方式

                 這裏不講

          2)已經編譯好的so文件安裝 方式

                 下載 Mac-7.2.tar :https://github.com/Microsoft/msphpsql/releases

                 解壓Mac-7.2.tar ,如下:

把幾個so文件 複製,粘貼到php的extensions目錄下:

在php.ini中添加如下:

extension=php_pdo_sqlsrv_72_nts.signature
extension=php_pdo_sqlsrv_72_nts.so
extension=php_sqlsrv_72_nts.signature
extension=php_sqlsrv_72_nts.so

重啓apache或者nginx

>>>通過 phpinfo();  查看是否安裝成功,pdo drivers中是否包含sqlsrv:

通過代碼驗證是否能連接到sqlserver數據庫,這個自己試了

這是官網的php測試代碼栗子:

pdo_sqlsrv:  https://docs.microsoft.com/en-us/sql/connect/php/example-application-pdo-sqlsrv-driver?view=sql-server-ver15

sqlsrv:   https://docs.microsoft.com/en-us/sql/connect/php/example-application-sqlsrv-driver?view=sql-server-ver15

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章