Non-static method Redis 报错
记录一次 redis 报错问题的解决过程。
受益匪浅;学了2节课,所有课程学下来,第一次碰到问题,感谢作者的辛苦付出!
use Redis 问题 :
在学习 L02 - 9.4 节的课程时,碰到一个报错,页面提示报错信息:
Fatal error: Non-static method Redis::keys() cannot be called statically)。
报错原因可能是:
经过搜索,发现问题可能是出在 composer 安装的 predis 和虚拟机中已安装的 redis 起冲突,经过半天时间排查,再经过半天的测试,找到2个解决方案,分别如下:
方案1:直接修改命名空间:
use redis
为
use Illuminate\Support\Facades\Redis;
方案2:使用 use redis ,但是需要注释掉 php 里面的 redis.ini 配置里面的:“ # extension redis.so ”,
1、修改方案前先在虚拟机输入命令:php -v 查看自己的 php 版本,
vagrant@homestead: $ php -v
2、我的是7.3版本,对应修改位置如下:
我的虚拟机修改位置:/etc/php/7.3/mods-available/redis.ini
3、修改命令 :
vagrant@homestead:$ cd /etc/php/7.3/mods-available$ ls
查看是否存在 redis.ini 文件,有的话打开编辑
vagrant@homestead:$ sudo vim redis.ini
在打开的文件里面注释下面这句:
# extension redis.so
修改后保存退出:“:wq”
4、退出虚拟机,并重新加载配置,重新启动虚拟机,然后刷新网站,之前的报错已经不再出现了,修复完成,问题解决!
vagrant@homestead: exit
> cd ~/Homestead && vagrant provision && vagrant reload
> vagrant ssh
推荐文章: