恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
highlight.io PHP 后端集成指南:使用 highlight/php-sdk 接入错误监控、日志与 Trace
首页
资讯中心
/
highlight.io PHP 后端集成指南:使用 highlight/php-sdk 接入错误监控、日志与 Trace
highlight.io PHP 后端集成指南:使用 highlight/php-sdk 接入错误监控、日志与 Trace
发布时间:2026/9/25 3:24:39
可观测性后端【免费下载链接】highlighthighlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more.项目地址https://gitcode.com/gh_mirrors/hi/highlight点击查看免费下载本篇指南基于 highlight.io 仓库中的服务端接入文档 10_php-other.md 展开覆盖该 PHP 后端快速上手页面的完整步骤通过 Composer 安装highlight/php-sdk、三种 SDK 初始化方式、错误上报、日志接入与 Trace 记录并逐条核对文档内容在仓库源码中的真实定义位置。读完后你不仅能在任意 PHP 框架框架无关的 other 路径中接入 Highlight 的 Errors、Logs、Traces 三类能力还能理解这类 QuickStart 文档页面是如何由仓库中的 TSX 组件渲染出来的。文档定位这是一个组件驱动的 QuickStart 页面先说明这篇文档在仓库中的组织方式有助于理解后续每一步内容的出处。10_php-other.md 的正文非常简短只有一行 MDX 嵌入见 该文件第 8 行QuickStart content{quickStartContent[server][php][other]}/其 frontmatter 声明了页面元信息toc: PHP: All Frameworks、title: Using highlight.io with PHP Frameworks、slug: other、quickstart: true。页面的真实步骤内容并非写在 Markdown 里而是定义在仓库源码 server/php/other.tsx 导出的PHPOtherReorganizedContent对象中该文件第 12-55 行title: PHP、subtitle: Learn how to set up highlight.io on your PHP backend.products: [Errors, Logs, Traces]—— 即该 PHP 后端路径支持的产品能力是错误、日志与 Traceentries数组按顺序组织了 8 个步骤前端联动可选→ 安装 SDK → 初始化 SDK → 验证错误 → 自定义错误上报可选→ 添加 Highlight 日志 → 验证日志 → 记录 Trace 并验证。渲染机制可以在文档页入口highlight.io/pages/docs/[[...doc]].tsx中找到getFilteredQuickStartContent函数第 361-387 行用正则/\{(\w(?:\[[^]\]))\}/从 Markdown 中解析出quickStartContent[server][php][other]这样的键路径再从 QuickstartContent.tsx 导出的quickStartContent注册表中取出对应内容注入 MDX 作用域。该注册表中 PHP 服务端的入口位于 第 465-471 行server: { ... php: { title: PHP, subtitle: Select your PHP framework to install Highlight for your application., logoUrl: siteUrl(/images/quickstart/php.svg), [QuickStartType.Other]: PHPOtherReorganizedContent, },从源码结构看QuickStartType.Other即other是 PHP 目前唯一的服务端框架选项——该文档页对应的是不绑定特定框架的通用 PHP 后端接入路径。步骤一通过 Composer 安装 PHP SDK安装步骤定义在 server/php/shared-snippets-monitoring.tsx 第 4-13 行 的installSdk片段中命令为composer require highlight/php-sdk在 PHP 项目的根目录含composer.json的目录执行该命令即可将 Highlight PHP SDK 加入依赖。步骤二初始化 SDK三种方式initializeSdk片段shared-snippets-monitoring.tsx 第 15-47 行给出了同一份文档中的三种初始化写法可按项目情况择一使用use Highlight\SDK\Common\HighlightOptions; use Highlight\SDK\Highlight; $projectId YOUR_PROJECT_ID; // 方式一仅用 projectId 引导 Highlight if (!Highlight::isInitialized()) { Highlight::init($projectId); } // 方式二使用 HighlightOptions 实例引导 $options HighlightOptions::builder($projectId)-build(); if (!Highlight::isInitialized()) { Highlight::initWithOptions($options); } // 方式三在 HighlightOptions 中预先设置 serviceName $options HighlightOptions::builder($projectId)-serviceName(test-service-01)-build(); if (!Highlight::isInitialized()) { Highlight::initWithOptions($options); }要点说明YOUR_PROJECT_ID需要替换为 Highlight 控制台中对应项目的 ID文档示例中统一以此占位符表示三种写法都先用Highlight::isInitialized()做幂等保护避免在请求多次进入初始化代码如框架引导文件被重复 include时重复初始化HighlightOptions::builder($projectId)是链式构建器.serviceName(...)可为服务显式命名示例值为test-service-01命名后的服务在控制台的数据面板中更易区分。步骤三错误监控与自定义错误上报文档中的验证步骤verifyErrorsshared-snippets-monitoring.tsx 第 64-68 行原文为Now that youve set up the Middleware, verify that the backend error handling works by consuming an error from traced code.即完成初始化后触发一段会抛错的代码然后访问 Highlight 控制台的 Errors 页面确认错误已被采集。对于希望在业务代码中显式上报异常的场景区文档提供Highlight::captureException()可选步骤customError第 49-62 行use Highlight\SDK\Highlight; Highlight::captureException(new \Exception(This is a test exception));该方式适合在catch块中把被捕获的异常主动上报而不仅依赖框架层的错误处理。步骤四接入日志Logs日志部分包含两个步骤均定义在 server/php/other.tsx 第 23-38 行1. 添加 Highlight 日志记录。文档该步骤的说明文字是 Highlight.captureLog() will record and send logs to Highlight.其给出的示例代码为use Highlight\SDK\Highlight; $logger Highlight::HighlightLogger(Highlight::$highlight) $logger-process(Highlight::HighlightLogRecordBuilder()-build());从示例结构看日志通过HighlightLogRecordBuilder()构建日志记录对象再经由 logger 的process()方法发送代码按文档原样保留示例本身省略了分号等书写细节。2. 验证日志上报。verifyLogs片段定义在 server/shared-snippets-logging.tsx 第 13-17 行访问 Highlight 控制台的 Logs 页面确认后端日志已经到达。步骤五记录 Trace 并验证Record a trace步骤server/php/other.tsx 第 39-53 行的说明是 Use the Highlight SDK to create spans and events.文档中给出的示例代码为use Highlight\SDK\Highlight; $tracer Highlight::HighlightLogger(Highlight::$highlight) $tracer-process(Highlight::HighlightErrorRecord()-build());验证步骤verifyTraces定义在 server/shared-snippets-tracing.tsx访问 Highlight 控制台的 Traces 页面确认后端 Trace 数据已接入。可选前置步骤前端联动该文档entries的第一项frontendInstallSnippetserver/shared-snippets-monitoring.tsx 第 7-10 行标题为 Configure client-side Highlight. (optional)如果同时在前端使用 Highlight需要先完成前端初始化并按 fullstack mapping 指南将前端会话与后端数据关联起来。这一步对纯后端项目可以跳过。仓库中的相关源码索引如需进一步核对本篇所述内容的原始定义可参考以下仓库文件内容文件路径文档页占位与 frontmatter10_php-other.mdPHP 服务端 QuickStart 步骤定义PHPOtherReorganizedContentother.tsx安装/初始化/错误上报片段installSdk、initializeSdk、customError、verifyErrors、frontendInstallSnippetshared-snippets-monitoring.tsx日志验证片段verifyLogs与 OTLP/HTTPS 直发日志示例shared-snippets-logging.tsxTrace 验证片段verifyTracesshared-snippets-tracing.tsxquickStartContent注册表与QuickStartContent类型定义QuickstartContent.tsx文档页渲染入口getFilteredQuickStartContent键路径解析highlight.io/pages/docs/[[...doc]].tsx旧版 backend 结构下的 PHP 日志内容PHPOtherLogContentlogging/php/other.tsx其中 shared-snippets-logging.tsx 第 19-78 行 还提供了不经 SDK、直接以 OTLP/HTTPS 协议发送日志的curl通用示例curlExample可作为 PHP 场景之外、任何语言向 Highlight 直发日志的参照。适用前提与限制本指南严格以当前仓库中该文档页及其引用的 QuickStart 组件源码为准YOUR_PROJECT_ID、test-service-01等均为文档示例中的占位值实际使用时需替换。文档中日志与 Trace 的示例代码按仓库原样呈现个别语句省略了分号等书写细节实际接入时请以 SDK 发布包的 API 与官方代码风格为准。该文档页slug: other对应的是 PHP 下不绑定特定框架的通用路径仓库的QuickStartType枚举中 PHP 目前没有为具体框架如 Laravel 等单列的服务端选项见 QuickstartContent.tsx 第 166-232 行因此其他 PHP 框架统一走本篇流程。赞分享可观测性后端【免费下载链接】highlighthighlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more.项目地址https://gitcode.com/gh_mirrors/hi/highlight点击查看免费下载相关推荐hexo-theme-minos性能优化指南让你的复古博客加载速度提升50%hexo theme minos性能优化指南让你的复古博客加载速度提升50% hexo theme minos是一款简约复古风格的Hexo主题专注于内容展示Highlight 上手指南从前端到后端的全栈监控接入路径highlight.ioHighlight 上手指南从前端到后端的全栈监控接入路径highlight.io 本篇以 highlight.io 官方文档《Getting Start可观测性后端如何在树莓派上快速安装和配置VC4CL OpenCL运行时完整指南如何在树莓派上快速安装和配置VC4CL OpenCL运行时完整指南 VC4CL是专为树莓派VideoCore IV GPU设计的OpenCL 1.2嵌入式配置上一篇Dream模板系统完全指南用EML打造动态HTML页面下一篇Node.js异步迭代器FE-Interview中的stream消费题创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考