最近由于修改个性配置莫名其妙的电脑上装的软件都消失了,找回无果重新装一遍。配置完php和nginx后,装redis扩展时和上次发生了一样的事情,在这记录一下,方便下次使用。。。
1.找个位置下载 php-redis 扩展组件的安装包
git clone https://github.com/nicolasff/phpredis.git
- 进入phpredis文件
cd phpredis
- 执行
sudo phpize
4.执行./configure(查找自己的php-config位置,然后pwd获取路径,我的在/usr/bin/php-config)
sudo ./configure --with-php-config=/usr/bin/php-config
5.执行 make
sudo make
6.最后执行 make install
sudo make install
这里可能会报下面这个错
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20160303/
cp: /usr/lib/php/extensions/no-debug-non-zts-20160303/#INST@12567#: Operation not permitted
make: *** [install-modules] Error 1
在phpredis文件夹下的modules文件夹中有redis.so文件,尝试把它复制到报错的文件夹下,代码如下
sudo cp redis.so /usr/lib/php/extensions/no-debug-non-zts-20160303/redis.so
如果还是报错要关闭SIP保护机制,步骤如下:
1. 重启系统
2. 按住Command + R (重新亮屏之后就开始按,象征地按几秒再松开,出现苹果标志,ok)
3. 菜单“实用工具” ==>> “终端” ==>> 输入csrutil disable;执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
4. 再次重启系统
## 禁止掉SIP后,就可以顺利的安装了,当然装完了以后你可以重新打开SIP,方法同上,只是命令是csrutil enable
- 关闭SIP保护后再回到phpredis下执行make install,成功后看下刚才报错的文件夹下有没有redis.so文件
sudo make install
- 然后找到自己的PHP的php.ini,增加下列代码
extension=redis.so
- 重启php-fpm,然后php -m 查看是否有redis 扩展并测试redis
<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('dove',"hello world");
$result = $redis->get('dove');
var_dump($result);
?>
网友评论