brew安裝php
brew search php 使用此命令搜索可用的PHP版本
brew install php@7.1 使用此命令安裝指定版本的php
brew install brew-php-switcher 安裝php多版本切換工具
brew-php-switcher 7.1 切換PHP版本到7.1(需要brew安裝多個(gè)版本)
PHP -v 查詢版本信息负溪,確定是否安裝成功(如果顯示的是系統(tǒng)自帶版本债沮,則需要配置環(huán)境變量颠猴,修改~/.bash_profile中/usr/local/bin的優(yōu)先級(jí))
brew安裝PHP擴(kuò)展
通過brew安裝的PHP版本中自帶了pecl,可以直接使用
pecl version 查看版本信息
pecl help 可以查看命令幫助
pecl search xdebug 搜索可以安裝的擴(kuò)展信息
pecl install xdebug 安裝擴(kuò)展
pecl install http://pecl.php.net/get/redis-4.2.0.tgz 安裝指定版本擴(kuò)展
默認(rèn)擴(kuò)展.so文件會(huì)被編譯到/usr/local/Cellar/php@7.2/7.2.15/pecl/目錄中削锰,此目錄實(shí)際上是軟鏈接到了/usr/local/lib/php/pecl目錄熄求。
接下來需要的是配置擴(kuò)展,這里提供兩種方法:
方法一:
因?yàn)镻HP@7.2的默認(rèn)擴(kuò)展目錄為/usr/local/Cellar/php@7.2/7.2.15/lib/php/20170718
所以我們可以直接將/usr/local/Cellar/php@7.2/7.2.15/pecl/20170718
目錄下的.so
文件復(fù)制到默認(rèn)目錄下蔑鹦,然后在/usr/local/etc/php/7.2/conf.d
中新建一個(gè)擴(kuò)展配置文件extension.ini
夺克,寫入配置
[xdebug]
zend_extension="xdebug.so"
再通過php --ini
查看php加載的配置文件路徑,并刪除php.ini
中的
zend_extension="xdebug.so"
方法二:
因?yàn)?code>/usr/local/Cellar/php@7.2/7.2.15/pecl/是軟鏈接到了/usr/local/lib/php/pecl
目錄的嚎朽,而php.ini
中的
extension_dir = "/usr/local/lib/php/pecl/20170718"
所以我們可以直接在/usr/local/etc/php/7.2/conf.d
中新建一個(gè)擴(kuò)展配置文件extension.ini
铺纽,寫入配置
[xdebug]
zend_extension="/usr/local/lib/php/pecl/20170718/xdebug.so"
以上方法二選一:
配置完成之后重啟服務(wù)器,php -m
查看擴(kuò)展是否安裝成功哟忍。
注:Mac下如mysqli等擴(kuò)展狡门,phpinfo()和php -m都會(huì)顯示安裝加載了并且是可以直接使用的陷寝,但是你在擴(kuò)展目錄里是找不到相應(yīng)的.so文件的,所以你要是把php.ini中extension注釋去掉的話其馏,重啟服務(wù)器會(huì)報(bào)錯(cuò)找不到擴(kuò)展文件(因此不需要再去配置php.ini)凤跑。這里經(jīng)過查資料,據(jù)說是這些找不到.so文件的擴(kuò)展是通過xcdoe做了處理的叛复,具體如何沒找到相關(guān)資料仔引。搜索了下,這里貼出我感覺是這些擴(kuò)展的存在路徑:
/usr/local/Cellar/php@7.2/7.2.15/include/php/ext
這里記錄幾種查看擴(kuò)展是否開啟的方法:
1. php -m
2. phpinfo()
3. extension_loaded() //直接判斷擴(kuò)展是否加載
4. function_exists() //判斷擴(kuò)展庫下的方法是否存在
5. php --ri 擴(kuò)展名 //查看擴(kuò)展版本信息