【发布时间】:2019-07-31 10:45:04
【问题描述】:
我在 Forge 上运行 Laravel 5.7。事情进展顺利。我有两个简单的工作正在运行。一种是用户登录,另一种是用户想要下载大文件。
在我当地,他们都工作得很好。一旦部署在 forge 上,它们都会失败并出现相同的异常:
ErrorException: Undefined index: queue in /home/forge/SITE/vendor/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php:46
堆栈跟踪指向我调用 dispatch(); 的两行
我的设置是 Redis 的默认设置。我没有更改我的环境或与正常 redis 设置相关的任何其他内容。
我的本地网站和我的 prod forge 网站都有:
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
我不知道为什么这只会在我的 Forge 设置中发生。 TIA
-- 在继续研究这个之后,当我在本地运行它时,我已经运行了 php artisan queue:work
我在 ssh 到我的伪造服务器后测试运行它并得到了这个:
ErrorException : Undefined index: queue
at /home/forge/members.spaceangels.com/vendor/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php:46
42| */
43| public function connect(array $config)
44| {
45| return new RedisQueue(
46| $this->redis, $config['queue'],
47| $config['connection'] ?? $this->connection,
48| $config['retry_after'] ?? 60,
49| $config['block_for'] ?? null
50| );
Exception trace:
1 Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Undefined index: queue", "/home/forge/members.spaceangels.com/vendor/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php", [])
/home/forge/members.spaceangels.com/vendor/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php:46
2 Illuminate\Queue\Connectors\RedisConnector::connect(["redis"])
/home/forge/members.spaceangels.com/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php:157
Please use the argument -v to see more details.
我的 config/queue.php 设置:
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => 'default',
'retry_after' => 90,
'block_for' => null,
],
我觉得这是我的配置和 forge 如何启用 Redis 之间缺少的东西
【问题讨论】:
-
在您的本地环境中您是否也使用 redis 运行?
-
是的@martin,这就是为什么这令人沮丧的原因。
-
我不确定,但当我没有正确安装 redis laravel 依赖项时,我觉得我有类似的情况,但对它的记忆非常模糊。
-
我会仔细检查并在我的 Forge 服务器上运行 composer 以确保
-
我想通了。这是一个环境设置问题。