Laravel 抛出 Warning:Error while sending STMT_PREPARE packet 如何解决
Laravel 执行事件不定期抛出 ErrorException Warning: Error while sending STMT_PREPARE packet. PID=2711
问题如何解决?
项目使用队列处理的任务中,查询数据抛出异常,难道是数据库连接断了吗?
##### ErrorException
Warning: Error while sending STMT_PREPARE packet. PID=2711
- `/app/Http/Repository/UserRepository.php` in `App\Http\Repository\UserRepository::getUser` at line `100`
public function getUser($name)
{
$user = User::where('name', $name)->first();
// ...
}
| name | test123 |
- `/app/Jobs/DispatchSyncUserInfo.php` in `App\Jobs\DispatchSyncUserInfo::handle` at line `61`
- Called from:
`[internal]` in `call_user_func_array`
- `/artisan` at line `37`
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Error while sending STMT_PREPARE packet on queued jobs
上面这个回答中,建议的解决方法是加入数据库重连 ?
但是,又因为 Laravel 貌似会处理这个异常自动调用数据库重连,所以在下面这里给出的一个解决方案就是不报告这个异常?。
ErrorException: Warning: Error while sending STMT_PREPARE packet · Issue #28920 · laravel/framework
Laravel 6.7 中在这个位置
vendor/laravel/framework/src/Illuminate/Database/DetectsLostConnections.php:25
所以 so the best solution is to discard error in handler?