Mac Homebrew php

Eden Chen
6 min readApr 10, 2018

--

主要是參考這一篇文章的教學,這邊就幫大家翻譯成中文以及過程中我遇到並且解決的問題(也作為我未來的回顧文)

請使用 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

路徑位置

  1. 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完成的
如有錯誤還請海涵並告知,謝謝

--

--

Eden Chen

What I cannot create, I do not understand / Software Engineer @Hiveventures.io