主要是參考這一篇文章的教學,這邊就幫大家翻譯成中文以及過程中我遇到並且解決的問題(也作為我未來的回顧文)
請使用 Homebrew/core,並刪除homebrew/php裝的所有東西
原因:homebrew在2018年3月底做了一個非常大幅度的更動 Homebrew/php 在2018年3月底正式廢止了,轉而使用 Homebrew/core
溫馨提醒 — 請打開terminal!
(Please open your terminal!)
第1點 移除舊有套件(Remove old packages)
如果本來就有安裝所有的一切,那就麻煩你刪除掉它們吧!
(什麼都沒裝或者你乾脆重灌的人請跳至第2點)
$ brew update
$ brew upgrade
$ brew cleanup
$ brew list | grep php
接著,你就會看到需要被刪除的套件,文章的作者是用了自己的範例,其它套件也得刪除(例如,我,也要刪除php71-mongodb這類的套件)
$ brew uninstall — force php56 php56-apcu php56-opcache php56-xdebug php56-yaml
$ brew uninstall — force php70 php70-apcu php70-opcache php70-xdebug php70-yaml
$ brew uninstall — force php71 php71-apcu php71-opcache php71-xdebug php71-yaml
$ brew uninstall — force php72 php72-apcu php72-opcache php72-xdebug php72-yaml
$ brew cleanup
再確認一次,是否正確刪除了
$ brew list | grep php
此外,想要刪除mac裡面的安裝套件請下指令
$ rm -Rf /usr/local/etc/php/*
刪除完畢之後,請確認是否使用了brew的php
php -v
如果出現了php7.1.6那表示,你目前的指令連結是連到mac自建的並非brew的,如果遇到這種情況.請鍵入以下指令
brew link php@7.1
‘export PATH=”/usr/local/opt/php@7.1/bin:$PATH”’ >> ~/.bash_profile
‘export PATH=”/usr/local/opt/php@7.1/sbin:$PATH”’ >> ~/.bash_profile
如果你是裝php7.2的話請輸入以下指令(基本上後面的export系統會提醒)
brew link php
echo ‘export PATH=”/usr/local/sbin:$PATH”’ >> ~/.bash_profile
第2點 安裝Homebrew (Install Homebrew)
首先提一下XCode Command Line Tools,這個工具請在安裝且升級完mac之後,不斷地把他的command line tools更新至最新就不會有問題了!
$ ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
驗證是否成功
brew — version
檢查是否安裝上面出了各種問題
brew doctor
第3點 安裝PHP (Install PHP)
所有的檔案路徑都會在下面幫大家做一個統整
$ brew install php@5.6
$ brew install php@7.0
$ brew install php@7.1
$ brew install php@7.2
非常重要 — 請關掉terminal,然後,再把它打開,驗證
PS如果照著安裝,是出現7.2,但本人是使用7.1,請別擔心
php -v
*** 出現以下畫面 ***
dacos-Air:Cellar user$ php -v
PHP 7.1.16 (cli) (built: Mar 31 2018 02:28:54) ( NTS )
Copyright © 1997–2018 The PHP Group
Zend Engine v3.1.0, Copyright © 1998–2018 Zend Technologies
with Zend OPcache v7.1.16, Copyright © 1999–2018, by Zend Technologies
接著,如果在未來要切換版本,直接輸入以下指令即可(下面是從7.2切換至5.6) 換言之,全部的版本都是可以安裝的
$ brew unlink php@7.2 && brew link — force — overwrite php@5.6
PS 如果有閱讀文章,會發現裡面有apache的設定,目前是換成httpd.如果有需要的人可以直接詳閱那篇文章,但我就不贅述了.基本上,這篇文章非常完整.
安裝PHP的套件
這次的更動,至少讓我很困擾 … 但是設定完之後,真的覺得不錯.因為一切有一種更像回到操作ubuntu以及centos的感覺.
有使用php的人一定不陌生,請直接使用pecl來安裝套件即可!舉個例子
pecl install mongodb
PS. 如果出現了以下錯誤,請服用下面的指令
ln -s /usr/local/opt/openssl/include/openssl .
*** 錯誤畫面如下 ***
#include <openssl/sha.h>
^~~~~~~~~~~~~~~
1 error generated.
make: *** [src/libmongoc/src/mongoc/mongoc-crypto-openssl.lo] Error 1
ERROR: `make’ failed
路徑位置
- Homebrew套件安裝位置
/usr/local/Cellar
2. PHP初始設定檔
/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/7.0/php.ini
/usr/local/etc/php/7.1/php.ini
/usr/local/etc/php/7.2/php.ini
3. openssl的位置, 之後, icu4c也是在同樣的位置
/usr/local/opt
上述步驟是在我重灌電腦為macOS High Sierra 10.13.4完成的
如有錯誤還請海涵並告知,謝謝