php - 调用未定义的方法 Illuminate\Support\Facades\Redis::connect()
问题描述
通过 Homestead 运行 Laravel 5.7。
这发生在:
/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php
"line":66
"function":"establishConnection"
我们正在使用 PHP Redis 并在 config/database.php 中:
'redis' => [
'client' => 'phpredis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 6,
],
],
我在这里看到了其他答案,但没有一个步骤有效。没有使用redis集群。PhpRedis 扩展安装在 VM 上并使用php -m
. Redis 服务器运行在 127.0.0.1 并且可以连接到代码之外。
我无法更改代码,因为它适用于其他人。这一定是我的虚拟机上的配置问题,但我看不出它可能是什么。如果有人有类似的问题,我将不胜感激任何建议。
解决方案
您遇到的问题是由于类命名冲突:PhpRedisConnector
创建新\Redis
客户端,但您似乎Illuminate\Support\Facades\Redis
在应用程序的某处设置了外观的别名。而是PhpRedisConnector
创建并获取外观对象。new Redis
尝试在你的删除这一行config/app.php
:
'aliases' => [
...
'Redis' => Illuminate\Support\Facades\Redis::class, // remove this line
...
]
推荐阅读
- python - Python - 线程复制重复
- ios - 在快速触发 tableview 委托之前用函数更新局部变量
- php - PHP - 对 json 数组进行降序排序
- flutter - Flutter BlocProvider 无法分配给参数类型
- python - 安装 python-dev 和 python-pip 时出现 Python 依赖项错误
- javascript - Webpack 错误 - configuration.node 具有未知属性“fs”
- tkinter - Python、tkinter、subprocess.Popen、raw_input() 和标准输入
- python - 尝试使用硒和美丽的汤创建网络刮板
- angular - 用于创建和编辑信息的反应式表单
- angular - 如何以角度制作递归菜单