黑火分析不起作用



所以我按照这些说明处理我的流浪箱,一切似乎都很好,我的意思是它正在运行。它已配置了其服务器 ID 和服务器令牌。

然后,我按照同一页面上的说明安装了 PHP 探针,并在完成后重新启动 apache2。然后我做了composer require blackfire/php-sdk,最后在我的代码中我做到了:

$probe = $blackfire->createProbe();
// some PHP code you want to profile
$blackfire->endProbe($probe);
dd('End here.'); // Laravels die and dump function.

所以据我所知,我做的一切都是对的。然后,在我的控制台中,我做到了:

vagrant@scotchbox:/var/www$ php artisan fetch_eve_online_region_type_history_information

  [BlackfireExceptionApiException]                                                                                                      
  401:  while calling GET https://blackfire.io/api/v1/collab-tokens [context: NULL] [headers: array (                                     
    0 => 'Authorization: Basic xxxxxx=',                                                                                                       
    1 => 'X-Blackfire-User-Agent: Blackfire PHP SDK/1.0',                                                                                 
  )]
 // where xxxx is some kind of authentication token that looks different from what I gave as my server id and token.

呃。。。。好的,所以文档会说明如果出现问题以检查日志:

vagrant@scotchbox:/var/www$ cat /var/log/blackfire/agent.log
vagrant@scotchbox:/var/www$ 

日志中没有任何内容。

我做错了什么?

这不是一个真正的解决方案,而是一种解决方法,直到我们听到更多关于如何实际解决它的信息。

直接在代码中手动添加了客户端凭据,它为我解决了问题:

    $config = new BlackfireClientConfiguration();
    $config->setClientId('...your _client_ id...');
    $config->setClientToken('...your _client_ token...');
    $blackfire = new BlackfireClient($config);

我在错误中看到的字符串是Authorization: Basic Og==的,Og==只是一个base64编码的字符串:,这暗示用户名/密码(或在这种情况下为id/token?)自动查找失败,授权是不可能的。这就是为什么手动提供详细信息可以解决它的原因。

有点晚了,但也许将来有人需要它。将 HOME 环境变量添加到 Apache 的 vhost 文件中,以便 blackfire 找到 ~/.blackfire.ini 解决它。

<VirtualHost hostname:80>
    ...
    SetEnv HOME /Users/me #i'm running macOS, on linux would be /home/me
    ...
</VirtualHost>

认为你的探针配置是正确的(server_id & server_tokens),你可以从浏览器中进行分析,对于使用 PHP SDK(phpunit 与 blackfire 集成),你必须配置客户端:

  • apt-get install blackfire-agent
  • blackfire config,您将提示输入BLACKFIRE_CLIENT_IDBLACKFIRE_CLIENT_TOKEN

    您还可以登录到此 API/v1/collab-token 来测试您的客户端凭据 用户名=>BLACKFIRE_CLIENT_ID , 密码=>BLACKFIRE_CLIENT_TOKEN

客户端的配置文件位置:/root/.blackfire.ini

相关内容

  • 没有找到相关文章

最新更新