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

附:参考文章地址

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!