兩個重點:
1:需要下載:編譯:PHP源碼,生成redis.so,然後在放到php擴展文件裏;
2:修改php.ini文件,添加redis擴展名稱:extensions = redis.so;
一、開始下載PHP源碼包
1、按照你的php版本進行下載PHP源碼包:https://www.php.net/releases/
2、然後解壓改名爲php,然後放到/Applications/MAMP/bin/php/php7.3.8/include/ 下(如果沒有include,就新建文件夾(注意:這裏如果include存在的話記得是把下載的源碼包內容複製到裏面去,記住當提示有文件名存在的時候,要用“合併”。)我當前的PHP版本爲:7.3.8,你按照自己的php版本進行設置)
3、把下載的文件包放到include裏後,使用:
4、cd /Applications/MAMP/bin/php/php7.3.8/include/php
5、./configure 說明:這一步是爲了讓下一步編譯redis.so時,有對應的php頭部文件。
6、(我這裏出現裏了:configure: error: Please specify the install prefix of iconv with --with)報錯,未找到:iconv,如果你沒有出現,就可以忽略下面方案)
第一種方案:(你可以下載);
第二種方案:不使用inconv:輸入命令:./configure --without-iconv
二、開始下載phpredis
1、下載redis git clone https://github.com/nicolasff/phpredis.git
(一個名爲 phpredis 的文件夾)
2、如果你沒有git:可以直接在網頁上訪問https://github.com/nicolasff/phpredis.git進行下載;
3、phpredis應該是被下載到php的源碼文件夾下(即/Applications/MAMP/bin/php/php7.3.8/include/php下;
4、開始編譯,分別執行以下3行代碼
/Applications/MAMP/bin/php/php7.3.8/bin/phpize
./configure --with-php-config=/Applications/MAMP/bin/php/php7.3.8/bin/php-config
make
5、執行第一句可能出現以下問題:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script.
說明:這是缺少 autoconf
解決辦法: 使用brew安裝
執行 brew install autoconf
6、
-
編譯成功,會在phpredis/modules下生成了redis.so文件,則把這個redis.so 放到/Applications/MAMP/bin/php/php7.3.8/lib/php/extensions/no-debug-non-zts-20180731 (最後這個文件夾的名字可能不一樣)下
三、下面就要:修改php.ini,重啓MAMP。 就可以在phpinfo中看到redis了。
1、找到extension 很多,加上 extension=redis.so 就大功告成了;
四、測試一下
1、重啓apeach環境後,打開phpinfo:搜索redis:
2、在項目裏開始實現:
<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test',"hello world");
$result = $redis->get('test');
var_dump($result);
?>
//正常會輸出: string(11) “hello world”
如果輸出:
Fatal error: Uncaught exception ‘RedisException’ with message ‘Redis server went away’ in
這是因爲前面的工作只是用於編譯redis.so,並沒有安裝redis,用brew安裝就可以了。
執行:brew install redis
安裝完成之後。執行:redis-server
開啓redis服務 到這裏就可以用了。
再給一個關閉服務的指令:redis-cli -p 6379 shutdown
(6379是測試端口,即測試代碼中的6379)