【问题标题】:Undefined index: HTTP_HOST in Laravel queue未定义索引:Laravel 队列中的 HTTP_HOST
【发布时间】:2022-01-13 22:51:10
【问题描述】:

我在 laravel 5.0 中编写了一个命令(队列),当我运行 php artisan queue:listen 时,一切正常,但我明白了

[错误异常] 未定义索引:HTTP_HOST

在队列返回中。

public function handle()
{
    $empresa_id = $this->empresa_id;
    $empresa = Empresas::find($empresa_id);
    
    if($empresa->used_storage_record > $empresa->limit_storage_record)
    {
        do{
            $registros = RepositorioRegistro::where('activo', 1)->whereHas('Documento', function ($query) use ($empresa_id){
                $query->where('empresa_id', $empresa_id);
            })->orderBy('id', 'desc')->first();

            if(!count($registros))
                break;

            $registros->activo = 0;
            $registros->save();

            $registros = RepositorioRegistro::where('activo', 1)->whereHas('Documento', function ($query) use ($empresa_id){
                $query->where('empresa_id', $empresa_id);
            })->get();
            $bytes = 0;
            foreach($registros as $registro)
            {
                if(Storage::disk('s3')->exists("/{$empresa_id}/registros/{$registro->url}"))
                {
                    $bytes += Storage::size("/{$empresa_id}/registros/{$registro->url}");
                }
            }
            $empresa->used_storage_record = $bytes;

            $empresa->save();
        }while($empresa->used_storage_record > $empresa->limit_storage_record);
    }

    return 'true';
}

【问题讨论】:

  • 你能显示错误所指的行吗?
  • @lagbox 这是一个问题,因为队列没有指定确切的行,但我认为我没有使用 $_SERVER['HTTP_HOST']
  • 你查看错误日志了吗?
  • @lagbox 没想到,我刚看了下,发现EmpresasController的一个更新模型事件正在使用$_SERVER['HTTP_HOST'],谢谢你的帮助

标签: php laravel queue command


【解决方案1】:

HTTP_HOST 由浏览器设置,因此只能在浏览器上运行。

使用 PHP CLI 时无法使用。

【讨论】:

  • 但是当我使用 HTTP_HOST 时?
  • 请仔细阅读答案。 HTTP_HOST 永远不会在命令提示符下工作。 php artisan 是一个命令提示符实用程序。
猜你喜欢
  • 2015-03-31
  • 2018-07-07
  • 1970-01-01
  • 2022-01-25
  • 2013-07-19
  • 2019-07-31
  • 2012-09-03
  • 1970-01-01
  • 2014-04-14
相关资源
最近更新 更多