tp5命令行报 [BadFunctionCallException] not support: redis

tp5命令行报 [BadFunctionCallException] not support: redis

芝麻开门2015

于 2018-09-30 18:29:49 发布

阅读量1.3w
 收藏 1

点赞数
分类专栏: php
版权

php
专栏收录该内容
145 篇文章2 订阅
订阅专栏
记得自己的redis扩展是安装了的,安装在mamp环境下的这个目录/Applications/MAMP/bin/php/php5.6.30/lib/php/extensions/no-debug-non-zts-20131226/redis.so

并且在浏览器运行这个代码也是测试成功的

 

那么如何一步一步排查呢?

后来才发现PHP在浏览器运行的和php cli模式运行不一致,

mamp 环境下使用php版本是5.6.3

而php cli模式下使用的版本是 5.6.25

 

mac自带PHP,和apache

安装步骤

git clone https://github.com/phpredis/phpredis.git
cd phpredis
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make && make install

查看有么有安装上redis扩展

php -m|grep redis

 

最后一张图就说明安装上了

 

然后再进行测试

发现报这个错误 那么需要启动redis服务

 

注意 可能redis.so 不能直接复制到这个目录/usr/lib/php/extensions/no-debug-non-zts-20131226

是因为mac系统不允许修改

所以解决方法就是禁掉SIP保护机制,步骤是:
重启系统按住Command + R   (重新亮屏之后就开始按,象征地按几秒再松开,出现苹果标志,ok)菜单“实用工具” ==>> “终端” ==>> 输入csrutil disable;执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.再次重启系统
禁止掉SIP后,就可以顺利的安装了,当然装完了以后你可以重新打开SIP,方法同上,只是命令是csrutil enable

最后将/modules生成目录的redis.so文件复制到目录/usr/lib/php/extensions/no-debug-non-zts-20131226即可
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/resilient/article/details/82912610

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章