【问题标题】:Laravel forge Redis setup Undefined index: queue on RedisConnectorLaravel forge Redis 设置未定义索引:RedisConnector 上的队列
【发布时间】: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 以确保
  • 我想通了。这是一个环境设置问题。

标签: laravel laravel-5


【解决方案1】:

嗯,您的 .env 文件似乎丢失了:

CACHE_DRIVER=redis

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 2012-08-24
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多