Mac 下使用 homebrew 切換不同版本 php

最近剛切換回 Mac 下進行開發,所以寫了比較多的 Mac 環境部署之類的文章。今天需要重新切換一下本地的開發環境。原本想直接在當前環境下開發, 畢竟 Mac 自帶了 PHP 環境,今天需要新添一個擴展 freetype ,需要重新編譯一遍 PHP。 由於這個擴展是核心內置擴展,沒法通過phpize來編譯安裝。 解決辦法只有一個,就是找到PHP的安裝源碼重新編譯一下,在編譯的時候,加上–with-freetype-dir。

但是要知道的一個事 —— Mac上PHP是內置的,根本就找不到它的安裝源碼在哪!

所以需要重新編譯一遍 PHP,並且不影響 Mac 當前的 PHP 環境。

Mac 下軟件的安裝和管理,當然離不開 homebrew 了。

安裝 php 不同版本
brew install php54
brew install php55
brew install php56
brew install php70
安裝新版本時,你很大機率上會被提醒,php 已經安裝了 xxx 版本了,你需要先 unlink 原先的版本。於是就是下面的這個命令了。先 unlink 再安裝。 安裝後自然就 link 好了。

常規切換
通過 brew 安裝的 php 可以通過brew link和brew unlink來切換不同版本。

brew list
brew unlink php56
brew link php55
大版本可以用brew list來查,如果是小版本的話只能去/usr/local/Cellar/php55看了。這個時候使用php-version可以更方便一點。

homebrew 中有一個非常便於管理和切換 PHP 版本的工具 —— php-version.

php-version
安裝php-version

brew install php-version
然後執行下面的命令。也可以講下面這個命令放到 ~/.bashrc 或 ~/.zshrc 裏去

source $(brew --prefix php-version)/php-version.sh && php-version xxx # xxx 是版本號
直接執行

php-version
就可以看到現有的版本,比如我自己的

➜ ~ php-version
5.4.45
5.5.38
5.6.30
* 7.0.20
然後使用以下命令切換即可

php-version 7.0.20
再看php的版本,已經切換好了。

php -v
注:我在早期時已經裝好了 php7,今天切換版本的時候 php -v 一直沒什麼變化,誤導了我。最後我先將這個 php70 版本 remove 後再 install, 就沒問題了。

在 IDEA 中使用
雖然在終端裏,php -v 已經是最新的7了。我原先 IDEA 裏的 php 版本還是 5.6.30 的。這個改起來就很簡單了。

在 Preference 裏找到 php 的設置,講原先的 /usr/bin/php 改爲 /usr/local/bin/php 即可。

不同版本的配置
各版本的配置在目錄

/usr/local/etc/php/xxx
裏,根據需要設置即可。

安裝擴展
假設我們要裝5.6版本的 mcrypt 插件

brew search php56-mcrypt

brew install php56-mcrypt #默認安裝在/usr/local/Cellar/
然後找到mcrypt.so 文件,通過pwd查看路徑,接着編輯PHP配置文件(php.ini):

vi /usr/local/etc/php/xxx/php.ini #通過brew默認配置文件路徑
在php配文件增加代碼:

extension=/usr/local/Cellar/php56-mcrypt/5.6/mcrypt.so

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