我正在尝试将 Sentry 添加到 Symfony 应用程序,但我无法让 Sentry 客户端实际向 Sentry 发送任何内容。我按照说明运行
composer require sentry/sentry-symfony
,将 DSN 添加到我的 .env
文件中,添加此控制器;
<?php
namespace App\Controller;
use Exception;
use Symfony\Component\Routing\Annotation\Route;
class SentryTestController
{
#[Route(path: 'sentry_test')]
public function test()
{
throw new Exception('test');
}
}
然后转到
sentry_test
页面。当异常被抛出时,Sentry 中什么也没有出现。
Sentry 捆绑包已添加到
bundles.php
为 Sentry\SentryBundle\SentryBundle::class => ['all' => true]
,我尝试过设置 APP_ENV=prod
和 APP_DEBUG=false
,但仍然不起作用。
运行
php bin/console sentry:test
(在安装sentry/sentry-symfony
后作为命令添加)会导致
DSN correctly configured in the current client
Sending test message...
Message not sent!
<warning>Check your DSN or your before_send callback if used</warning>
我遗漏了什么明显的东西吗?
深入研究
sentry/sentry
和 sentry/sentry-symfony
的源代码后,我遇到了 cURL HTTP 错误。在谷歌上搜索该特定错误后,修复非常简单; composer update "sentry/*" -W
更新所有 Sentry 软件包及其依赖项。我认为运行 composer require sentry/...
会安装最新的可用版本,但显然它没有。
Sentry 现在可以正常工作了。