资讯动态

Laravel Telescope 升级指南:从 3.x 到 5.x 的迁移要点与完整操作清单

发布时间:2026/10/15 3:18:02 来源:尧图企业网站定制
开发者工具可观测性调试器【免费下载链接】telescopeAn elegant debug assistant for the Laravel framework.项目地址https://gitcode.com/gh_mirrors/te/telescope点击查看免费下载本篇指南基于当前仓库的 UPGRADE.md系统梳理 Laravel TelescopeLaravel 框架的优雅调试助手在跨主版本升级时的必要操作包括每次升级都必须执行的资源发布与视图缓存清理、4.x 升 5.0 时迁移文件加载方式的重大变更以及 3.x 升 4.0 时的 PHP 与 Laravel 版本门槛。文中所有命令与结论均对照 src 目录下的命令实现、TelescopeServiceProvider.php 的发布逻辑、composer.json 的依赖约束及 CHANGELOG.md 的版本记录逐一佐证读完即可照单执行完成升级。升级前的统一动作发布资源并清理视图缓存无论从哪个版本升级官方都要求在升级完成后执行两条命令php artisan telescope:publish php artisan view:clear第一条telescope:publish用于将 Telescope 的前端资源与配置文件发布到你的应用第二条view:clear用于清理 Laravel 编译后的 Blade 视图缓存避免旧的视图模板缓存干扰新版本页面。telescope:publish到底做了什么从 PublishCommand.php 的实现可以看到该命令本身是一个轻量封装内部依次调用两次vendor:publish以--tagtelescope-config发布配置文件覆盖到应用的config/telescope.php是否强制覆盖由--force选项决定以--tagtelescope-assets发布前端静态资源发布到public/vendor/telescope且始终强制覆盖源码中固定传--force true。命令签名telescope:publish {--force : Overwrite any existing files}中的--force选项用于在发布配置文件时覆盖应用里已有的同名文件。实际发布映射定义在 TelescopeServiceProvider.php 的registerPublishing()方法中完整的发布标签tag体系如下发布标签发布源目标位置telescope-migrationsdatabase/migrations应用database/migrationstelescope-assets同时挂接laravel-assetspublicpublic/vendor/telescopetelescope-configconfig/telescope.php应用config/telescope.phptelescope-providerstubs/TelescopeServiceProvider.stub应用app/Providers/TelescopeServiceProvider.php注意telescope:publish默认不会发布迁移文件与服务提供者这些在安装或 5.0 升级场景中单独处理它聚焦于每次升级后刷新资源这一职责与你每次升级后执行它、再执行view:clear的官方建议完全对应。从 4.x 升级到 5.0迁移文件的加载方式发生根本变化这是 5.0 升级中最需要留意的行为变更Telescope 5.0 不再自动从自身迁移目录加载迁移文件。升级后需要显式执行以下命令把迁移发布到你的应用php artisan vendor:publish --tagtelescope-migrations发布成功后迁移文件会进入应用的database/migrations目录之后再照常运行数据库迁移即可php artisan migrate从源码看TelescopeServiceProvider.php 在注册发布时优先使用 Laravel 较新版本提供的publishesMigrations方法否则回退到publishes把包内 database/migrations 目录整体发布到database_path(migrations)这正是--tagtelescope-migrations标签的来源。迁移文件会创建哪些表发布下来的迁移文件为 2018_08_08_100000_create_telescope_entries_table.php升级到 5.0 后它会创建三张数据表telescope_entries核心条目表包含自增sequence、uuid、batch_id、family_hash、type如 request、query、exception 等条目类型、contentJSON 长文本等字段并对uuid、batch_id、family_hash、created_at、[type, should_display_on_index]建有索引telescope_entries_tags条目标签表以entry_uuidtag为联合主键entry_uuid外键级联删除telescope_monitoring被监控的 tag 列表tag为主键。该迁移的getConnection()会读取config(telescope.storage.database.connection)默认取DB_CONNECTION意味着 Telescope 数据可以落在与应用主库不同的连接上升级前若自定义过存储连接迁移也会跟随该配置。5.0 时代的版本与环境约束以当前仓库为准需要说明的是UPGRADE.md 中 5.0 一节并未列出独立的版本门槛但当前仓库 composer.json 的依赖声明代表了 5.x 系列的实际要求PHP^8.0Laravel 框架^8.37|^9.0|^10.0|^11.0其中 Laravel 11 支持正是在 v5.0.0 中引入的见 CHANGELOG.md v5.0.0 条目。也就是说即使你此前在 4.x 的 PHP 7.3 / Laravel 8 环境运行升到 5.0 也需要先满足 PHP 8.0 与对应 Laravel 版本约束。另外从 InstallCommand.php 的实现可以看到在 Laravel 11 及以上版本中安装/升级时服务提供者通过ServiceProvider::addProviderToBootstrapFile()写入bootstrap/providers.php而较老版本则采用修改config/app.php中providers数组的方式——如果你的应用正处在 Laravel 11 升级过程中这一点值得同步关注。从 3.x 升级到 4.0最低 PHP 版本提升到 7.3升级到 4.0 后PHP 7.3 成为最低要求。这与 CHANGELOG.md 中 v4.0.0 的记录吻合该版本移除了 PHP 7.2 支持。若你的服务器仍运行 PHP 7.2 或更低版本需先升级运行时再执行 Telescope 升级。最低 Laravel 版本提升到 8.04.0 同时把最低 Laravel 版本提升到 8.0。依据同样来自 CHANGELOG.md v4.0.0该版本引入了 Laravel 8 支持与队列 Batches 支持并移除了 Laravel 6 与 7 的支持。因此从 3.x 升级前请确认项目已处于 Laravel 8.0 或更高版本并确保 PHP 版本满足 7.3。升级完成后的验证与数据维护命令完成主版本升级并发布资源后可以借助 Telescope 自带的一组 Artisan 命令验证数据链路是否正常并维护调试数据命令作用关键参数php artisan telescope:clear清空 Telescope 存储的所有条目无php artisan telescope:prune清理过期条目--hours24保留小时数默认 24、--keep-exceptions保留异常数据php artisan telescope:pause暂停所有 watcher 记录无php artisan telescope:resume恢复所有 watcher 记录无这些命令的实现均有对应源码与测试佐证ClearCommand.php 通过注入ClearableRepository契约执行clear()ClearCommandTest.php 验证其会清空telescope_entries与telescope_monitoring两张表PruneCommand.php 以now()-subHours(hours)为时间界线裁剪旧数据PruneCommandTest.php 验证了默认保留 24 小时、--hours可自定义、以及--keep-exceptions对异常数据的保留行为PauseCommand.php 与 ResumeCommand.php 通过缓存键telescope:pause-recording有效期为 30 天控制 Telescope.php 中startRecording()的$shouldRecord开关暂停后 Telescope 会停止落库但不会影响应用本身。建议在升级后先执行一次telescope:clear清空旧版本遗留数据再做一次真实请求或任务打开/telescope页面确认各类条目请求、查询、异常、任务、邮件等能够正常写入与展示从而确认迁移与资源发布均已生效。升级检查清单综合 UPGRADE.md 与仓库现状给出如下可对照执行的升级清单升级前确认 PHP 与 Laravel 版本满足目标版本要求——升 4.0 需 PHP ≥ 7.3 且 Laravel ≥ 8.0升 5.0 以当前仓库为准需 PHP ≥ 8.0 且 Laravel ≥ 8.37推荐 9/10/11。升级包版本通过 Composer 将laravel/telescope更新到目标主版本。发布迁移仅 5.0 起执行php artisan vendor:publish --tagtelescope-migrations然后执行php artisan migrate完成三张表telescope_entries、telescope_entries_tags、telescope_monitoring的创建或结构更新。发布资源执行php artisan telescope:publish必要时加--force覆盖旧配置该命令会同步发布config/telescope.php与public/vendor/telescope下的前端资源。清理视图缓存执行php artisan view:clear避免旧版编译视图残留。数据验证执行telescope:clear清空旧数据访问 Telescope 页面确认记录功能正常如需要长期保留调试数据可配置计划任务定期执行telescope:prune。以上所有操作均只涉及你的应用项目本身仓库包括 UPGRADE.md、src/Console、TelescopeServiceProvider.php均为只读参考若在升级过程中遇到与版本门槛、迁移或资源发布相关的疑问可随时回到 CHANGELOG.md 对照各主版本v5.0.0、v4.0.0的变更记录进行核验。赞分享开发者工具可观测性调试器【免费下载链接】telescopeAn elegant debug assistant for the Laravel framework.项目地址https://gitcode.com/gh_mirrors/te/telescope点击查看免费下载相关推荐Telescope 版本升级指南3.x 到 5.x 的迁移要点与资产重新发布机制Telescope 版本升级指南3.x 到 5.x 的迁移要点与资产重新发布机制 Laravel Telescope 每次升级都会替换前端资源与后端行为仅执开发者工具可观测性调试器Laravel Debugbar 升级指南从 3.x 迁移到 4.x 的完整解读Laravel Debugbar 升级指南从 3.x 迁移到 4.x 的完整解读 导读 本文基于 laravel debugbar 仓库的官方升级文档 UP开发工具后端CodeIgniter4 版本升级完全指南从 3.x 迁移到 4.x 与各版本升级要点CodeIgniter4 版本升级完全指南从 3.x 迁移到 4.x 与各版本升级要点 导读 本指南以 CodeIgniter4 官方升级文档 user_g后端Web框架上一篇typescript-go 自动导入索引的粒度更新机制autoImportSymlinkedMonorepoGranularUpdate 测试基线深度解析下一篇Windows右键菜单终极优化指南3分钟清理臃肿菜单的免费工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑