Laravel Telescope 是专为 Laravel 设计的调试工具,可实时捕获并展示请求、日志、数据库查询等信息;安装需执行 composer require、telescope:install 和 migrate 命令,配置后访问 /telescope 登录即可查看详细请求数据。

Laravel Telescope 是一个优雅的调试助手,专为 Laravel 应用设计,能实时捕获和展示请求、日志、数据库查询、缓存、队列、异常等详细信息。要查看项目请求日志(比如 HTTP 请求路径、响应状态、耗时、输入参数、响应内容等),只需正确安装并启用 Telescope 即可。
安装与基础配置
在 Laravel 项目根目录执行以下命令安装:
- composer require laravel/telescope --dev(推荐仅在开发环境启用)
- php artisan telescope:install(发布迁移和配置文件)
- php artisan migrate(创建 telescope 相关数据表)
默认 Telescope 仅在 local 环境下启用。如需在其他环境(如 staging)开启,需修改 config/telescope.php 中的 enabled 配置项,例如设为 env('TELESCOPE_ENABLED', true),并在 .env 中添加 TELESCOPE_ENABLED=true。
访问 Telescope Web 界面
启动开发服务器后,直接访问 /telescope(例如 http://localhost:8000/telescope)即可进入仪表盘。首次访问会跳转至登录页——Telescope 默认使用 Laravel 的认证守卫,需先登录一个已注册用户(或运行 php artisan tinker 手动创建测试用户)。
登录成功后,在左侧菜单点击 Requests,即可看到所有已记录的 HTTP 请求列表,包括:
- 请求 URL、HTTP 方法(GET/POST 等)
- 响应状态码(200、404、500 等)
- 耗时(ms)、内存占用
- 请求头、请求体(含 JSON 或表单数据)
- 响应头、响应内容(可展开查看原始响应)
确保请求被正常捕获
Telescope 默认监听所有请求,但有几点需要注意:
- 中间件顺序影响:确保
TelescopeMiddleware没被其他中间件(如 CORS 或权限拦截)提前终止请求流;它通常已自动注册在app/Http/Kernel.php的$middlewareGroups['web']中 - 静态资源(CSS/JS/图片)默认被忽略:可在
config/telescope.php的ignore_paths中调整,或注释掉相关过滤规则 - 部分 AJAX 请求若跨域失败、或未携带 session cookie,可能无法关联到 Telescope 会话,此时检查是否启用了
SameSite=None; Secure配置(尤其 HTTPS 环境)
按需筛选与调试请求
在 Requests 列表页,可利用顶部搜索栏快速过滤:
- 输入 URL 片段(如
/api/users) - 输入状态码(如
500) - 选择时间范围(最近 1 小时 / 24 小时 / 自定义)
- 点击某条请求,展开查看完整生命周期:路由匹配、中间件执行顺序、数据库查询详情、日志输出、事件触发等
若发现某个接口响应慢,可点开对应请求,重点查看 “Queries” 和 “Logs” 标签页,确认是否存在 N+1 查询或冗余日志写入。


















