OSX MAMP 如何爲 PHP 5.6 安裝 MSSQL 擴展

背景

如標題所說,要給 OSX 上運行的 MAMP 安裝基於 PHP 5.6 的 MSSQL 擴展,用於連接 MSSQL(即 MsSqlserver)。

運行環境

操作系統

  • OSX - 10.13.4

軟件環境

  • MAMP - 5.6
  • PHP - 5.6.40

步驟

整體步驟

1、安裝 freetds
2、安裝 mssql.so 擴展(php 的 mssql 擴展依賴於 freetds)

詳細步驟

廢話少說,直接開始。

1、安裝 freetds

命令行執行如下指令:

brew install freetds

如果本機之前沒有安裝過 brew,請先去安裝 brew,安裝方法這裏不贅述。

安裝完成後在 /usr/local/Cellar/ 下應該能見到 freetds 目錄,比如我的是:

$ pwd
/usr/local/Cellar/freetds/1.00.91

如果你也有上面一樣的目錄,說明你安裝成功了。1.00.91 是我安裝的 freetds 的版本號,這個可以不一樣。

2、安裝 mssql.so 擴展

先到這個網址(https://www.php.net/releases/) 下載你的PHP版本的源碼,比如我的是 5.6.40:

在這裏插入圖片描述
下載之後解壓,然後進入 ext/mssql 目錄,比如我這裏是:

$ pwd
/Users/bottle/Downloads/php-5.6.40/ext/mssql

開始編譯。

先執行 phpize 生成 configure 文件,指令如下:

$ /Applications/MAMP/bin/php/php5.6.40/bin/phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226

注意上面這行指令,一定要使用你要安裝擴展的 php 版本中的 phpize,也即 php5.6.40

有心的同學可以打開 /Applications/MAMP/bin/php/ 目錄看一下,這裏面存放的就是你的本地 MAMP 目前可以使用的所有 php 版本。

執行配置。

執行如下指令:

$ ./configure --with-php-config=/Applications/MAMP/bin/php/php5.6.40/bin/php-config --with-pdo-dblib=/usr/local/Cellar/freetds/1.00.91/

其中 php5.6.40 還是剛纔說的指定的 php 版本;/usr/local/Cellar/freetds/1.00.91/ 就是你的 freetds 安裝路徑。

執行編譯安裝。

執行如下指令:

$ make && make install

看到類似於下面這樣的輸出,說明安裝成功了。

Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /Applications/MAMP/bin/php/php5.6.40/lib/php/extensions/no-debug-non-zts-20131226/

打開上面說的 /Applications/MAMP/bin/php/php5.6.40/lib/php/extensions/no-debug-non-zts-20131226/ 目錄看一眼,mssql.so 已經在裏面了(如果不在,可以將 /Users/bottle/Downloads/php-5.6.40/ext/mssql/modules/mssql.so 拷貝到這裏)。

最後一步,配置 php.ini

這裏有個小坑。

MAMP 的 php 配置文件有兩處(不知道爲什麼),分別是:

/Library/Application Support/appsolute/MAMP PRO/conf/php5.6.40.ini
/Applications/MAMP/bin/php/php5.6.40/conf/php.ini

看到了麼,兩個,這裏我是蒙的,也不知道爲啥啊,還請大佬來賜教。

改的話,這兩個地方就得都改。

php.ini 最後加上下面兩行:

[mssql]
extension=mssql.so

這樣就算啓用了擴展了。

重啓 MAMP

查看一下 phpinfo()

在這裏插入圖片描述
有了上面這段,說明擴展生效了。

搞定收工。

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