Laravel Mailer - 超出最大内存限制?

时间:2014-06-24 16:21:47

标签: php email laravel exception-handling vagrant

我正试图让我的Laravel应用程序在生产中出现错误时向我发送电子邮件。基本上它是:

App::error(function(Exception $exception, $code)
{
    if (App::environment('local')) {    // not testing this on prod, duh
        Event::fire('error.production', [$exception, $code]);

        return View::make('error.default');
    }
});

'error.production'事件只是发送到发送电子邮件的错误处理程序:

public function handle($exception, $code)
{
    $result = $this->mailer
      ->setView('emails.error.production')
      ->setSubject('Production Error')
      ->setToAddress('me@myself.com')
      ->setToName('patricksaysi')
      ->setData(['exception' => $exception, 'code' => $code])
      ->send();

    return $result;
}

电子邮件发送,但执行周期永远不会完成,因为它实际上能够向用户显示错误屏幕。这是因为我发送电子邮件时发生了另一个错误 - Allowed memory size of 536870912 bytes exhausted (tried to allocate 532414464 bytes)

我在上面return $result函数的handle()行上设置了断点,但从未到达过。我已经尝试逐步完成SwiftMailer“发送”循环,我可以说它是巨大的并且需要永远而且我从中学到了什么,除了它可能是导致内存分配错误的可能候选者。我在Laravel Homestead上运行这个,所以理论上环境应该是最佳的。这是一个非常简单的电子邮件/视图,只是吐出错误的正文和代码。什么想法可能会出错?有没有更好的方法来完成我在这里要做的事情?

0 个答案:

没有答案