下載完成得到phpredis-master.zip
移動到/usr/local/目錄中
sudo cp phpredis-master /usr/local/
進入/usr/local/目錄
cd /usr/local
解壓phpredis-master.zip
tar -zxvf phpredis-master.zip
得到phpredis-master文件夾,將文件夾改名為phpredis
sudo mv phpredis-master phpredis
進入phpredis文件夾
cd phpredis
執行phpize
sudo phpize
若未安裝autoconf,則會報錯
Cannot find autoconf.
需要先安裝autoconf
brew install autoconf
若未安裝brew,則另外百度安裝brew的方法
安裝完autoconf之后,再執行phpize,接着執行下面的代碼
./configure --with-php-config=/usr/bin/php-config
執行make
sudo make
執行make install
sudo make install
由於OS 10點幾開始本身關閉了對lib文件夾的操作權限,所以這句話會報錯,自行百度mac獲取bin權限的方法,然后將lib下的php文件夾賦予權限
再執行make install成功
然后打開php的配置文件,默認在/etc/php.ini,增加下列代碼
extension=redis.so
重啟apahce后
php -m|grep redis
查看phpredis擴展是否開啟。
macOS 10.14軟件編譯時找不到頭文件的解決方法
昨天(也就是2018-09-25)新版本的macOS Mojave 10.14正式開放下載,我如此時尚,自然是要第一時間下載安裝的(這句話好熟悉的樣子)。
今天開發時發現有些PHP擴展無法使用,提示版本不兼容需要重新編譯。
這個自然是難不倒我的,於是:下載擴展源碼包、解壓后進入文件夾、執行phpize報錯了。。。。
1 |
$ phpize |
缺少PHP的header頭文件,再一看/usr/include文件夾根本不存在,想必是Xcode command line tools沒有安裝完全(我macOS 10.13版本裝過的)?熟練的敲出如下命令:
1 |
$ xcode-select --install |
靜等了一會安裝完成,一看/usr/include文件夾還是不存在,難道升級系統后System Integrity Protection自動打開導致文件寫不進?接着執行:
1 |
$ csrutil status |
SIP處於禁用狀態,沒有問題。
再安裝一遍Xcode command line tools試試:
1 |
$ xcode-select --install |
不給裝了,這可如何是好。。
於是各種吃力爬英文網站,最后終於讓我找到了,只需執行下列命令安裝header頭文件SDK即可:
1 |
$ cd /Library/Developer/CommandLineTools/Packages/ |
安裝完成再一看/usr/include文件夾和里面的都文件都回來了。
接下里一切都簡單多了,再次(編譯過PHP擴展的一看就懂):
1 |
$ phpize |
以上就是解決問題的大概過程,然后一一順利解決掉所有不兼容的PHP擴展,很開心。
順便記錄一下如何將自己的mac變成一台開發機器:
1 |
# csrutil disable # 需要在恢復模式下運行命令,具體請自行搜索。 |
