【发布时间】:2017-11-26 19:43:58
【问题描述】:
我在发送电子邮件时遇到队列问题。使用 send 方法时会发送电子邮件:
Mail::send
当我切换到队列方法并配置作业表、QUEUE_DRIVER 和 failed_jobs 表时,队列中的所有作业最终都在 failed_jobs 表中。 queue.php 文件我没有碰过任何东西。
作为我的开发环境在 Windows 7 上运行。
PHP 版本 5.6.15
这个功能是否使用curl(因为phpinfo显示已启用)?
代码:
.env 文件
QUEUE_DRIVER=数据库
邮件程序
Mail::queue('emails.orderEmail',
[
'user' => Auth::user()
], function ($m) {
$m->from($this->business->email, $this->business->business_name);
$m->to($this->recipientEmail);
$m->subject($this->subject);
$m->replyTo($this->business->email, $this->name);
});
我正在运行这个工匠命令(尝试使用队列:工作以及使用):
php artisan queue:listen --tries=3
【问题讨论】:
-
删除您的日志文件,然后再次运行您的脚本并查看日志文件,很奇怪吧?您很可能在某处有语法错误。您还可以打开
failed_jobs表并查看那里的堆栈跟踪。 -
@Kyslik 我有一个名为 STORE_ID 的 php SERVER 变量,它似乎会产生异常错误。通过队列发送时是否无法访问? [2017-06-23 12:33:22] local.ERROR: 异常 'ErrorException' 与 C:\xampp\htdocs\Server1\app\ShippingSettings.php:18 中的消息 'Undefined index: STORE_ID' 堆栈跟踪:跨度>
标签: php laravel laravel-5 laravel-5.2