redis
1. 下載源文件:
- 這里就會有個問題,到哪里下載呢 - -
- 答案是 php的官方擴展庫--pecl
- 打開 pecl網(wǎng)站 是可以在上面直接通過瀏覽器下載的,但是我們?yōu)榱搜b逼,我們要用命令行下載! - -
wget https://pecl.php.net/get/redis-3.1.2.tgz
- 但是當我們執(zhí)行上面的命令會出現(xiàn)如下提示
-bash: wget: command not found
- 裝逼失敗。。。mac默認沒有wget命令- -
- 網(wǎng)上有多種方法,比方說用homebrew 安裝 wget,那我們又要去裝homebrew....我選擇拒絕,mac 沒有 wget 但是她有 curl
- 所以我們的命令變成
curl https://pecl.php.net/get/redis-3.1.2.tgz
- 但是如果你真的這樣去敲命令,你又上當了--
- 因為curl 需要用 -o 參數(shù)指定一下輸出的文件名稱,不然。。。反正就顯示一堆亂碼,下載不成功(別問我為什么知道...)
- 所以最后我的究極下載命令變成了 (別問我為什么要用sudo....):
-
sudo curl -o php-redis-3.1.2.tgz https://pecl.php.net/get/redis-3.1.2.tgz
(加粗是一種體貼)
2. 解壓源文件:
- 同樣這里也有問題,怎么解壓呢--
- 我們來 百度一下
- 通過學習我們知道我們應該用
tar -xzf
命令,解壓.tgz 后綴的文件 sudo tar -xzf php-redis-3.1.2.tgz
- 我們看到
redis-3.1.2
文件夾,說明解壓成功
3. 編譯源文件
- 終于到了編譯了。。。美滋滋:
- 先進入目錄:
cd redis-3.1.2
-
運行phpize命令生成配置文件:
sudo phpize
- 這時如果沒有安裝m4 和 autoconf的話會提示如下錯誤:
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script
- 那我們來安裝一下,命令如下(執(zhí)行命令不要急,一個個來):
su -
cd /usr/local
curl -o m4-1.4.16.tar.gz http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.gz
tar -zvxf m4-1.4.16.tar.gz
cd m4-1.4.16/
./configure && make && make install
cd ../
curl -o autoconf-2.62.tar.gz http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar -zvxf autoconf-2.62.tar.gz
cd autoconf-2.62/
./configure && make && make install
- 安裝完成后,我們再去redis 目錄去 執(zhí)行 `phpsize`(因為我們現(xiàn)在已經(jīng)切換到root 賬號就不需要 sudo了)發(fā)現(xiàn)沒有報錯了。
- ```
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
- 運行./configure:
- 需要找一下php-config的位置:
which php-conifg
- 我本地的位置是:
/usr/bin/php-config
- 所以我們執(zhí)行的命令是:
./configure --with-php-config=/usr/bin/php-config
- 編譯 執(zhí)行命令:
make
- 安裝 執(zhí)行命令:
make install
- 這時程序會講編譯好的.so 文件拷貝到php默認的擴展文件夾下面
- 但是mac的 /usr 文件下的有些目錄 root 賬戶也沒有寫權限,所以會報錯
- 這時 需要 重啟電腦 按住 command + r 進入安全模式,打開終端
csrutil disable
將csrutil
這個功能禁用掉,這樣root就有權限了,重新執(zhí)行命令,得到如下結果:
Libraries have been installed in:
/usr/local/redis-3.1.2/modules ........
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20131226/
4. 配置php.ini
- 再php.ini中添加:
extension = redis.so
5. 重啟apache
6. 查看phpinfo()
- 在命令行輸入:
php -m|grep redis
- 可以看到:
redis