PHP:我怎么知道是什么导致了500服务器错误?

时间:2020-11-05 10:34:36

标签: php laravel

我通过Laravel遇到了500个服务器错误,并且没有错误写入日志文件。我已经确认权限是可以的,并且Laravel可以写入日志文件。我不确定在这里还有什么其他选择。

我将错误归结为此类,注释掉的行是导致错误的行。

class CollectionResource extends JsonResource
{
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'name' => $this->name,
            // 'member_count' => $this->items()->count(),
            // 'member_count_today' => $this->items()->whereDate('collection_entries.created_at', Carbon::today()->toDateString())->count(),
            // 'member_images' => $this->items->take(10)->pluck('data.picture'),
            'created_at' => $this->created_at,
            'updated_at' => $this->updated_at,
        ];
    }
}

即使将代码包装在trycatch中,它仍然会吞没错误并返回500,而没有任何响应数据。

启用调试,启用日志记录,已检查并仔细检查了基本内容。我看不出该如何通过?

我故意抛出了语法异常,它抛出了解析错误,所以我知道trycatch块可以工作,并且代码已到达应有的位置。

在此端点的第二个请求上,它似乎可以正常工作,没有任何更改。只是这个特定的端点。

Items是一个AboutToMany关系。

1 个答案:

答案 0 :(得分:-1)

特别是500 Internal Server Error是一个包罗万象的错误 消息,当没有更具体的消息适合时给出。可以 导致“ 500 Internal Server Error”(内部服务器错误)显示在屏幕上的原因有很多 网络浏览器。

  1. 检查错误日志
  2. 检查.htaccess文件
  3. 检查您的PHP资源
  4. 检查CGI / Perl脚本
  5. 检查您的PHP中是否有任何可能的错字