应直接安装 sentry/sentry-laravel,不可单独安装 sentry/sentry,否则会因 sdk 版本冲突导致 class 'sentry\state\hubinterface' not found、异常捕获失效及 php artisan sentry:test 失败。

直接装 sentry/sentry-laravel 就行,别单独装 sentry/sentry —— Laravel 项目里它会冲突、报错、监控不到异常。
为什么不能先 composer require sentry/sentry
Laravel 的 Sentry 集成不是简单加个 SDK 就完事。官方 sentry/sentry-laravel 包已经内置了适配器、Laravel Service Provider、异常处理器和配置文件。如果你先手动装了底层 sentry/sentry,再装 sentry/sentry-laravel,Composer 可能拉取不兼容的 SDK 版本(比如 v4.x 和 v3.x 混用),导致:
Class 'Sentry\State\HubInterface' not found- 异常捕获失效,
report()方法没走 Sentry -
php artisan sentry:test命令报错或静默失败
正确安装步骤(Laravel 8+)
只执行这一条命令,一步到位:
composer require sentry/sentry-laravel
然后按提示运行发布配置(Laravel 9+ 自动发现,但建议仍手动执行一次确保配置落地):
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
php artisan vendor:publish --provider="Sentry\Laravel\SentryServiceProvider"- 检查生成的
config/sentry.php,确认dsn已填入你的项目 DSN(格式类似https://xxx@o123.ingest.sentry.io/456) - 开发环境默认不启用,如需本地测试,设
'environment' => app()->environment()并确保SENTRY_LARAVEL_DSN在.env中存在
php artisan sentry:test 不上报?常见卡点
这个命令只是触发一次异常并尝试发送,但它依赖几个隐性条件:
- 必须在
APP_DEBUG=true且SENTRY_LARAVEL_DSN非空时才真正发请求(否则直接 return) - 如果用了 Laravel Octane,需额外配置:在
config/sentry.php中设'send_default_pii' => false,并确认 Octane 进程未缓存旧配置(改完记得php artisan octane:reload) - 防火墙或网络限制可能导致请求超时,可临时加日志验证:
Sentry\init([...]); \Sentry\captureException(new \Exception('test'));放到routes/web.php里直调,看是否进 Sentry 后台
升级时要注意 sentry/sentry-laravel 和 SDK 的版本绑定
新版(3.x)已强制绑定 sentry/sdk v3,不再兼容老 DSN 或自定义 Hub 初始化方式。如果你从 2.x 升级:
- 删掉所有手动
Sentry\init()调用,全部交给 Laravel Service Provider 管理 -
config/sentry.php中的traces_sample_rate默认是null,要开启性能监控得显式设为1.0或其他值 - 自定义事件添加 tags / user 信息,统一用
\Sentry\configureScope(),别再用Hub::getCurrent()手动取实例
SDK 版本锁死在 sentry/sentry-laravel 的 composer.json 里,你手动 require sentry/sentry 只会让 Composer 报 conflict —— 这不是 bug,是设计使然。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










