Installation - PHP
Erstelle zuerst ein Projekt im DockRay-Panel. In seinen Einstellungen findest du den Projekt-Token - die öffentliche Kennung, die in die Ingest-URL eingeht - und im Tab API-Schlüssel erzeugst du einen privaten Schlüssel. Der Schlüssel wird nur einmal angezeigt, beim Erzeugen: DockRay speichert lediglich seinen Hash. Wenn noch kein Projekt existiert, beginne mit Erste Schritte.
Voraussetzungen
- PHP 8.2 oder neuer,
- Composer 2,
- ausgehende HTTPS-Verbindungen erlaubt.
Das SDK ist frameworkunabhängig und die Grundlage aller anderen PHP-Integrationen: Laravel, Symfony, Drupal, Joomla, PrestaShop und des WordPress-Plugins. Wenn du eines davon nutzt, greife zum jeweiligen Paket - dieser Artikel behandelt Anwendungen ohne solche Brücke.
Installation
composer require dockcodes/dock-ray
Initialisierung
Rufe init() so früh auf, wie es das Framework oder dein Bootstrap erlaubt - dann erreichen auch Fehler aus dem Start der Anwendung das Panel.
use function Dock\Ray\init;
init([
'token' => 'PROJEKT_TOKEN',
'private_key' => 'PRIVATER_PROJEKTSCHLUESSEL',
'environment' => 'production',
'release' => '1.4.0',
]);
token und private_key greifen standardmäßig auf die Servervariablen RAY_TOKEN und RAY_PRIVATE_KEY zurück, ein Deployment kann das SDK also ohne Codeänderung konfigurieren:
init([
'environment' => getenv('APP_ENV') ?: 'production',
'release' => getenv('APP_VERSION') ?: null,
]);
Fehlt eines der Zugangsdaten, bleibt das SDK geladen und sendet nichts. Es wirft nie, weil es nicht konfiguriert ist - deshalb kann init() bedingungslos aufgerufen werden, auch lokal.
Was automatisch erfasst wird
Die Standardintegrationen erfassen unbehandelte Ausnahmen und fatale Fehler. Hat deine Anwendung einen eigenen Handler und soll ihn behalten, übergib 'default_integrations' => false und melde manuell.
Der erste Test
use Dock\Ray\Severity;
use function Dock\Ray\captureMessage;
captureMessage('DockRay-Kontrollmeldung', Severity::info());
Die Meldung sollte im Panel unter Fehler des Projekts erscheinen, auf das der Token zeigt.