首页 > 解决方案 > 队列不启动laravel 8

问题描述

php artisan queue:work - 不工作。ErrorException:尝试访问 null 类型值的数组偏移量

供应商/laravel/framework/src/Illuminate/Queue/QueueManager.php:156

protected function resolve($name)
     {
       $config = $this->getConfig($name);

      return $this->getConnector($config['driver'])
                         ->connect($config)
                       ->setConnectionName($name);
    }

配置/队列.php

<?php

return [


    'default' => env('QUEUE_CONNECTION', 'sync'),


    'connections' => [

        'sync' => [
            'driver' => 'sync',
        ],

        'database' => [
            'driver' => 'database',
            'table' => 'jobs',
            'queue' => 'default',
            'retry_after' => 90,
        ],


        'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
            'queue' => env('REDIS_QUEUE', 'default'),
            'retry_after' => 90,
            'block_for' => null,
        ],

    ]
];

标签: phplaravel

解决方案


如上所述,此错误可能是由错误配置引起的,因此请尝试:

  • 检查您的.env文件是否正确QUEUE_CONNECTION
  • 将连接名称添加到您的工作命令中,例如php artisan queue:work database --queue=queue_namedatabase连接上运行

然而,就我而言,我在生产服务器上使用主管时遇到了这个错误。主管进程因该错误而失败,但对于新创建的配置。我有一个已经完美运行的配置,所以我最终复制了工作配置并对其进行了编辑,它工作正常。我怀疑是在复制格式不正确的文本,因为我在本地文本文件上预先创建了配置。


推荐阅读