Laravel 6 API 不会在日志中写入错误 500
Posted
技术标签:
【中文标题】Laravel 6 API 不会在日志中写入错误 500【英文标题】:Laravel 6 API doesn't write error 500 in logs 【发布时间】:2020-06-20 13:01:22 【问题描述】:如何设置 Laravel 从 API 捕获/记录 500 错误?
我有 Laravel 6.x,在 .env 中,我有 APP_ENV=production
和 APP_DEBUG=false
以及一个带有 DB::table('table_doesnt_exists')->get()
的函数。
如果我从浏览器访问调用该函数的网络路由,我会在屏幕上看到“500 服务器错误”,并且错误会写入日志,这是完美的。
如果使用 axios
并调用调用相同函数的 API 路由,我只会得到 HTTP 响应 500,没有任何响应,最重要的是日志中没有错误。
【问题讨论】:
这个api在同一个环境吗? 是同一个laravel(同一个项目)......这发生在本地服务器(宅基地)和vps上。 尝试清除配置缓存。并检查日志文件权限 【参考方案1】:在尝试了多种组合后,我设法让它工作了。
APP_ENV=local
APP_DEBUG=false
错误写入日志,API只返回
message: "Server Error"
【讨论】:
以上是关于Laravel 6 API 不会在日志中写入错误 500的主要内容,如果未能解决你的问题,请参考以下文章
PHP error_log 方法不会将错误写入我的错误日志文件