Skip to content

PostHog/posthog-php

Repository files navigation

PostHog PHP

PHP Version CI

Please see the main PostHog docs.

Specifically, the PHP integration details.

Features

  • ✅ 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

Quick Start

  1. Copy .env.example to .env and add your PostHog credentials
  2. Run php example.php to see interactive examples of all features

Error Tracking

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.

Questions?

Contributing

  1. Download PHP and Composer
  2. php composer.phar update to install dependencies
  3. bin/test to run tests (this script calls ./vendor/bin/phpunit --verbose test)

Releasing

See RELEASING.md.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages