Please see the main PostHog docs.
Specifically, the PHP integration details.
- ✅ Event capture and user identification
- ✅ Error tracking with manual exception capture
- ✅ Opt-in automatic PHP exception, error, and fatal shutdown capture
- ✅ Feature flag local evaluation
- ✅ Feature flag dependencies (new!) - Create conditional flags based on other flags
- ✅ Multivariate flags and payloads
- ✅ Group analytics
- ✅ Comprehensive test coverage
- Copy
.env.exampleto.envand add your PostHog credentials - Run
php example.phpto see interactive examples of all features
Manual exception capture:
PostHog::captureException($exception, 'user-123', [
'$current_url' => 'https://example.com/settings',
]);Opt-in automatic capture from the core SDK:
PostHog::init('phc_xxx', [
'error_tracking' => [
'enabled' => true,
'capture_errors' => true,
'excluded_exceptions' => [
\InvalidArgumentException::class,
],
'context_provider' => static function (array $payload): array {
return [
'distinctId' => $_SESSION['user_id'] ?? null,
'properties' => [
'$current_url' => $_SERVER['REQUEST_URI'] ?? null,
],
];
},
],
]);Auto error tracking is off by default. When enabled, the SDK chains existing exception and error handlers instead of replacing app behavior.
See CONTRIBUTING.md for local setup and test instructions.
See RELEASING.md.