google/cloud-debugger

Stackdriver Debugger Client for PHP

v1.8.8 2024-07-08 23:14 UTC

README

Stackdriver Debugger提供的PHP客户端,用于查看任何代码位置的应用程序状态,而无需停止或减慢运行中的应用程序。

Latest Stable Version Packagist

注意:该存储库是Google Cloud PHP的一部分。任何支持请求、错误报告或开发贡献都应指向该项目。

Google Cloud Platform的一个功能,允许您在任何代码位置检查应用程序的状态,而无需停止或减慢运行中的应用程序。Stackdriver Debugger使得在不添加日志语句的情况下查看应用程序状态变得更加容易。

安装

  1. 从PECL安装PHP扩展。

    $ pecl install stackdriver_debugger-alpha

    在Windows上,您可以从PECL下载预构建的.dll文件

    您可能还需要在您的php.ini文件中启用该扩展

    # on Unix
    extension=stackdriver_debugger.so
    
    # on Windows
    extension=php_stackdriver_debugger.dll
  2. 使用composer安装或将其添加到您的composer.json中。

    $ composer require google/cloud-debugger
  3. 在后台运行批处理守护进程脚本。

    在安装了信号量扩展的基于Unix的系统上,运行BatchDaemon

    $ vendor/bin/google-cloud-batch daemon

    在Windows或未安装信号量扩展的系统上,运行Debugger Daemon

    $ vendor/bin/google-cloud-debugger -s <SOURCE_ROOT>

    SOURCE_ROOT是您部署的应用程序的基础位置。

    或者,您也可以提供一个配置脚本

    $ vendor/bin/google-cloud-debugger -c <CONFIG_FILE>
  4. 将调试器Agent作为您的应用程序中的第一个操作来包含并启动

    $agent = new Google\Cloud\Debugger\Agent();

    如果此文件不在您的源根目录中,您需要将应用程序源根路径作为可选参数提供

    $agent = new Google\Cloud\Debugger\Agent([
        'sourceRoot' => '/path/to/source/root'
    ]);

该组件同时支持HTTP/1.1上的REST和gRPC。为了利用gRPC(如流方法)提供的优势,请参阅我们的gRPC安装指南

身份验证

有关对客户端进行身份验证的更多信息,请参阅我们的身份验证指南。身份验证后,您就可以开始发出请求了。

示例

use Google\Cloud\Debugger\DebuggerClient;

$debugger = new DebuggerClient();
$debuggee = $debugger->debugee();
$debuggee->register();

配置

快照

调试器快照允许您在不停止或减慢应用程序的情况下捕获和检查应用程序中的调用堆栈和局部变量。通常,您将通过Stackdriver Debugger UI在云平台控制台设置断点。

有关快照的更多信息,请参阅使用调试快照

日志点

调试器日志点允许您在不重启或干扰服务正常功能的情况下,将日志注入到正在运行的服务中。这在不添加日志语句和重新部署的情况下调试生产问题非常有用。

默认情况下,我们将所有日志消息发送到Stackdriver Logging,但您可以通过提供任何PSR-3兼容的记录器来自定义此设置。例如,要使用monolog

$agent = new Google\Cloud\Debugger\Agent([
    'logger' => new Monolog\Logger('name')
]);

有关日志点的更多信息,请参阅使用调试日志点

版本

该组件被认为是GA(一般可用)。因此,它不会在任何次要或补丁版本中引入不兼容的更改。我们将优先解决问题和请求。

下一步

  1. 了解官方文档
  2. 查看深入使用示例