两个重点:
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、在项目里开始实现:
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)