Was macht sentry-php-sdk?
Vollständige Sentry SDK-Einrichtung für PHP. Verwenden, wenn darum gebeten wird, 'Sentry zu PHP hinzuzufügen', 'sentry/sentry zu installieren', 'Sentry in PHP einzurichten' oder Fehlerüberwachung, Tracing, Profiling, Logging, Metriken oder Crons für PHP-Anwendungen zu konfigurieren. Unterstützt reines PHP, Laravel und Symfony.
Installation
Installieren Sie das Paket mit Composer:
composer require sentry/sentry
Konfiguration
Fügen Sie die folgende Konfiguration in Ihre .env-Datei ein:
SENTRY_DSN=__SENTRY_DSN__
SENTRY_ENVIRONMENT=production
Ersetzen Sie __SENTRY_DSN__ mit Ihrem tatsächlichen Sentry DSN.
Reines PHP
Initialisieren Sie Sentry in Ihrem Bootstrap-Code:
require_once 'vendor/autoload.php';
Sentry\init([
'dsn' => $_ENV['SENTRY_DSN'],
'environment' => $_ENV['SENTRY_ENVIRONMENT'] ?? 'production',
]);
Laravel
Wenn Sie Laravel verwenden, installieren Sie den Laravel-spezifischen Bridge:
composer require sentry/laravel
Veröffentlichen Sie die Konfiguration:
php artisan vendor:publish --provider="Sentry\Laravel\ServiceProvider"
Fügen Sie in config/sentry.php die DSN-Konfiguration hinzu:
return [
'dsn' => env('SENTRY_DSN'),
// Weitere Optionen...
];
Symfony
Für Symfony-Anwendungen installieren Sie den Symfony-Bundle:
composer require sentry/sentry-symfony
Fügen Sie in Ihrer config/packages/sentry.yaml-Datei hinzu:
sentry:
dsn: '%env(SENTRY_DSN)%'
options:
environment: '%env(SENTRY_ENVIRONMENT)%'
Funktionen
| Funktion | Beschreibung |
|---|---|
| Fehlerüberwachung | Erfasst und meldet unbehandelte Ausnahmen und Fehler |
| Tracing | Verfolgt Transaktionen und Spans für Leistungsanalyse |
| Profiling | Sammelt Leistungsprofile zur Optimierung |
| Logging | Integriert strukturierte Logs mit Sentry |
| Metriken | Sendet benutzerdefinierte Metriken und Statistiken |
| Crons | Überwacht geplante Aufgaben und Cron-Jobs |
Nutzung
Manuelle Fehlerberichte
try {
// Ihr Code
} catch (\Throwable $exception) {
\Sentry\captureException($exception);
}
Benutzerkontext setzen
\Sentry\configureScope(function (\Sentry\State\Scope $scope): void {
$scope->setUser(['id' => '123', 'email' => '[email protected]']);
});
Weitere Informationen finden Sie in der offiziellen Dokumentation.