posthog/posthog-php

PostHog PHP Library

Maintainers

Package info

github.com/PostHog/posthog-php

pkg:composer/posthog/posthog-php

Statistics

Installs: 3 613 171

Dependents: 7

Suggesters: 1

Stars: 30

Open Issues: 18

4.2.0 2026-04-06 22:54 UTC

This package is auto-updated.

Last update: 2026-04-06 22:55:12 UTC


README

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?

Join our Slack community.

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.