MAC-下安裝php-redis擴展


下載php-redis,地址:https://nodeload.github.com/nicolasff/phpredis/zip/master

下載完成得到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
2
3
4
5
6
7
8
$ phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:

缺少PHP的header頭文件,再一看/usr/include文件夾根本不存在,想必是Xcode command line tools沒有安裝完全(我macOS 10.13版本裝過的)?熟練的敲出如下命令:

1
2
$ xcode-select --install
xcode-select: note: install requested for command line developer tools

靜等了一會安裝完成,一看/usr/include文件夾還是不存在,難道升級系統后System Integrity Protection自動打開導致文件寫不進?接着執行:

1
2
$ csrutil status
System Integrity Protection status: disabled.

SIP處於禁用狀態,沒有問題。

再安裝一遍Xcode command line tools試試:

1
2
$ xcode-select --install
xcode-select: error: command line tools are already installed...

不給裝了,這可如何是好。。

於是各種吃力爬英文網站,最后終於讓我找到了,只需執行下列命令安裝header頭文件SDK即可:

1
2
$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg

安裝完成再一看/usr/include文件夾和里面的都文件都回來了。

接下里一切都簡單多了,再次(編譯過PHP擴展的一看就懂):

1
2
3
4
$ phpize
$ ./configure
$ make
$ sudo make install

以上就是解決問題的大概過程,然后一一順利解決掉所有不兼容的PHP擴展,很開心。

順便記錄一下如何將自己的mac變成一台開發機器:

1
2
3
4
5
# csrutil disable # 需要在恢復模式下運行命令,具體請自行搜索。
$ xcode-select --install # 安裝常用開發工具,如:git等。
$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg
$ sudo DevToolsSecurity -enable # 將系統置於開發模式
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM