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

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