Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
getsentry avatar

Sentry Php Sdk

  • 1.8k installs
  • 243 repo stars
  • Updated July 27, 2026
  • getsentry/sentry-for-ai

sentry-php-sdk is an agent skill for Full Sentry SDK setup for PHP. Use when asked to "add Sentry to PHP", "install sentry/sentry", "setup Sentry in PHP", or

About

The sentry-php-sdk skill Full Sentry SDK setup for PHP. Use when asked to "add Sentry to PHP", "install sentry/sentry", "setup Sentry in PHP", or configure error monitoring, tracing, profiling, logging, metrics, or crons for PHP applications. Supports plain PHP, Laravel, and Symfony. It covers user asks to "add Sentry to PHP" or "setup Sentry" in a PHP app. Key workflows include user wants error monitoring, tracing, profiling, logging, metrics, or crons in PHP. - Recommended Init Plain PHP Full init enabling the most features with sensible defaults: php \Sentry\init 'dsn' = $_SERVER 'SENTRY_DSN' ?? '', 'environment' = $_SERVER 'SENTRY_ENVIRONMENT' ?? 'production', 'release' = $_SERVER 'SENTRY_RELEASE' ?? null, 'send_default_pii' = true, // Tracing lower to 0.1 - 0.2 in high-traffic production 'traces_sample_rate' = 1.0, // Profiling - requires excime Developers invoke sentry-php-sdk when the task matches the triggers and reference files in SKILL.md for grounded, stepwise execution.

  • User asks to "add Sentry to PHP" or "setup Sentry" in a PHP app
  • User wants error monitoring, tracing, profiling, logging, metrics, or crons in PHP
  • User mentions sentry/sentry , sentry/sentry-laravel , sentry/sentry-symfony , or Sentry + any PHP framework
  • User wants to monitor Laravel routes, Symfony controllers, queues, scheduled tasks, or plain PHP scripts
  • Is sentry/sentry or -laravel / -symfony already in composer.json ? If yes, check if the init call exists - may just ne

Sentry Php Sdk by the numbers

  • 1,805 all-time installs (skills.sh)
  • +52 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #112 of 1,453 DevOps & CI/CD skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

sentry-php-sdk capabilities & compatibility

Capabilities
user asks to "add sentry to php" or "setup sentr · user wants error monitoring, tracing, profiling, · user mentions sentry/sentry , sentry/sentry lara · user wants to monitor laravel routes, symfony co · is sentry/sentry or laravel / symfony already
Use cases
documentation
From the docs

What sentry-php-sdk says it does

Opinionated wizard that scans your PHP project and guides you through complete Sentry setup.
SKILL.md
npx skills add https://github.com/getsentry/sentry-for-ai --skill sentry-php-sdk

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.8k
repo stars243
Security audit3 / 3 scanners passed
Last updatedJuly 27, 2026
Repositorygetsentry/sentry-for-ai

What problem does sentry-php-sdk solve for developers using the documented workflows?

Full Sentry SDK setup for PHP. Use when asked to "add Sentry to PHP", "install sentry/sentry", "setup Sentry in PHP", or configure error monitoring, tracing, profiling, logging, metrics, or crons for

Who is it for?

Developers working with sentry-php-sdk patterns described in the skill documentation.

Skip if: Skip when docs are empty or the task is outside the skill documented scope.

When should I use this skill?

Use when Full Sentry SDK setup for PHP. Use when asked to "add Sentry to PHP", "install sentry/sentry", "setup Sentry in PHP", or configure error monitoring, tracing, profiling, logging, me

What you get

Actionable sentry-php-sdk guidance grounded in SKILL.md workflows and reference files.

  • Crons instrumentation code
  • Monitor slug configuration
  • Laravel scheduler macro setup

By the numbers

  • Documents 3 Sentry Crons integration approaches
  • Minimum sentry/sentry SDK version 3.16.0
  • Minimum sentry/sentry-laravel SDK version 3.3.1

Files

SKILL.mdMarkdownGitHub ↗
All Skills > SDK Setup > PHP SDK

Sentry PHP SDK

Opinionated wizard that scans your PHP project and guides you through complete Sentry setup.

Invoke This Skill When

  • User asks to "add Sentry to PHP" or "setup Sentry" in a PHP app
  • User wants error monitoring, tracing, profiling, logging, metrics, or crons in PHP
  • User mentions sentry/sentry, sentry/sentry-laravel, sentry/sentry-symfony, or Sentry + any PHP framework
  • User wants to monitor Laravel routes, Symfony controllers, queues, scheduled tasks, or plain PHP scripts
Note: SDK versions and APIs below reflect Sentry docs at time of writing (sentry/sentry 4.x, sentry/sentry-laravel 4.x, sentry/sentry-symfony 5.x).
Always verify against docs.sentry.io/platforms/php/ before implementing.

---

Phase 1: Detect

Run these commands to understand the project before making recommendations:

# Check existing Sentry
grep -i sentry composer.json composer.lock 2>/dev/null

# Detect framework
cat composer.json | grep -E '"laravel/framework"|"symfony/framework-bundle"|"illuminate/'

# Confirm framework via filesystem markers
ls artisan 2>/dev/null && echo "Laravel detected"
ls bin/console 2>/dev/null && echo "Symfony detected"

# Detect queue systems
grep -E '"laravel/horizon"|"symfony/messenger"' composer.json 2>/dev/null

# Detect AI libraries
grep -E '"openai-php|"openai/|anthropic|llm' composer.json 2>/dev/null

# Check for companion frontend
ls frontend/ resources/js/ assets/ 2>/dev/null
cat package.json 2>/dev/null | grep -E '"react"|"svelte"|"vue"|"next"'

What to note:

  • Is sentry/sentry (or -laravel / -symfony) already in composer.json? If yes, check if the init call exists — may just need feature config.
  • Framework detected? Laravel (has artisan + laravel/framework in composer.json), Symfony (has bin/console + symfony/framework-bundle), or plain PHP.
  • Queue system? (Laravel Queue / Horizon, Symfony Messenger need queue worker configuration.)
  • AI libraries? (No PHP AI auto-instrumentation yet — document manually if needed.)
  • Companion frontend? (Triggers Phase 4 cross-link.)

---

Phase 2: Recommend

Based on what you found, present a concrete proposal. Don't ask open-ended questions — lead with a recommendation:

Always recommended (core coverage):

  • Error Monitoring — captures unhandled exceptions and PHP errors
  • Logging — Monolog integration (Laravel/Symfony auto-configure; plain PHP uses MonologHandler)

Recommend when detected:

  • Tracing — web framework detected (Laravel/Symfony auto-instrument HTTP, DB, Twig/Blade, cache)
  • Profiling — production apps where performance matters (requires excimer PHP extension, Linux/macOS only)
  • Crons — scheduler patterns detected (Laravel Scheduler, Symfony Scheduler, custom cron jobs)
  • Metrics — business KPIs or SLO tracking (uses TraceMetrics API)

Recommendation matrix:

FeatureRecommend when...Reference
Error MonitoringAlways — non-negotiable baseline${SKILL_ROOT}/references/error-monitoring.md
TracingLaravel/Symfony detected, or manual spans needed${SKILL_ROOT}/references/tracing.md
ProfilingProduction + excimer extension available${SKILL_ROOT}/references/profiling.md
LoggingAlways; Monolog for Laravel/Symfony${SKILL_ROOT}/references/logging.md
MetricsBusiness events or SLO tracking needed${SKILL_ROOT}/references/metrics.md
CronsScheduler or cron patterns detected${SKILL_ROOT}/references/crons.md

Propose: "I recommend Error Monitoring + Tracing [+ Logging]. Want Profiling, Crons, or Metrics too?"

---

Phase 3: Guide

Install

# Plain PHP
composer require sentry/sentry "^4.0"

# Laravel
composer require sentry/sentry-laravel "^4.0"

# Symfony
composer require sentry/sentry-symfony "^5.0"

System requirements:

  • PHP 7.2 or later
  • Extensions: ext-json, ext-mbstring, ext-curl (all required)
  • excimer PECL extension (Linux/macOS only — required for profiling)

Framework-Specific Initialization

Plain PHP

Place \Sentry\init() at the top of your entry point (index.php, bootstrap.php, or equivalent), before any application code:

<?php

require_once 'vendor/autoload.php';

\Sentry\init([
    'dsn'                  => $_SERVER['SENTRY_DSN'] ?? '',
    'environment'          => $_SERVER['SENTRY_ENVIRONMENT'] ?? 'production',
    'release'              => $_SERVER['SENTRY_RELEASE'] ?? null,
    'send_default_pii'     => true,
    'traces_sample_rate'   => 1.0,
    'profiles_sample_rate' => 1.0,
    'enable_logs'          => true,
]);

// rest of application...
Laravel

Step 1 — Register exception handler in bootstrap/app.php:

use Sentry\Laravel\Integration;

return Application::configure(basePath: dirname(__DIR__))
    ->withExceptions(function (Exceptions $exceptions) {
        Integration::handles($exceptions);
    })->create();

Step 2 — Publish config and set DSN:

php artisan sentry:publish --dsn=YOUR_DSN

This creates config/sentry.php and adds SENTRY_LARAVEL_DSN to .env.

Step 3 — Configure `.env`:

SENTRY_LARAVEL_DSN=https://examplePublicKey@o0.ingest.sentry.io/0
SENTRY_TRACES_SAMPLE_RATE=1.0
SENTRY_PROFILES_SAMPLE_RATE=1.0
For full Laravel configuration options, read ${SKILL_ROOT}/references/laravel.md.
Symfony

Step 1 — Register the bundle in config/bundles.php (auto-done by Symfony Flex):

Sentry\SentryBundle\SentryBundle::class => ['all' => true],

Step 2 — Create `config/packages/sentry.yaml`:

sentry:
    dsn: '%env(SENTRY_DSN)%'
    options:
        environment: '%env(APP_ENV)%'
        release: '%env(SENTRY_RELEASE)%'
        send_default_pii: true
        traces_sample_rate: 1.0
        profiles_sample_rate: 1.0
        enable_logs: true

Step 3 — Set the DSN in `.env`:

SENTRY_DSN=https://examplePublicKey@o0.ingest.sentry.io/0
For full Symfony configuration options, read ${SKILL_ROOT}/references/symfony.md.

Quick Start — Recommended Init (Plain PHP)

Full init enabling the most features with sensible defaults:

\Sentry\init([
    'dsn'                     => $_SERVER['SENTRY_DSN'] ?? '',
    'environment'             => $_SERVER['SENTRY_ENVIRONMENT'] ?? 'production',
    'release'                 => $_SERVER['SENTRY_RELEASE'] ?? null,
    'send_default_pii'        => true,

    // Tracing (lower to 0.1–0.2 in high-traffic production)
    'traces_sample_rate'      => 1.0,

    // Profiling — requires excimer extension (Linux/macOS only)
    'profiles_sample_rate'    => 1.0,

    // Structured logs (sentry/sentry >=4.12.0)
    'enable_logs'             => true,
]);

For Each Agreed Feature

Walk through features one at a time. Load the reference, follow its steps, verify before moving on:

FeatureReference fileLoad when...
Error Monitoring${SKILL_ROOT}/references/error-monitoring.mdAlways (baseline)
Tracing${SKILL_ROOT}/references/tracing.mdHTTP handlers / distributed tracing
Profiling${SKILL_ROOT}/references/profiling.mdPerformance-sensitive production
Logging${SKILL_ROOT}/references/logging.mdAlways; Monolog for Laravel/Symfony
Metrics${SKILL_ROOT}/references/metrics.mdBusiness KPIs / SLO tracking
Crons${SKILL_ROOT}/references/crons.mdScheduler / cron patterns detected

For each feature: Read ${SKILL_ROOT}/references/<feature>.md, follow steps exactly, verify it works.

---

Configuration Reference

Key \Sentry\init() Options (Plain PHP)

OptionTypeDefaultPurpose
dsn`string\bool\null`
environment`string\null`$_SERVER['SENTRY_ENVIRONMENT']
release`string\null`$_SERVER['SENTRY_RELEASE']
send_default_piiboolfalseInclude request headers, cookies, IP
sample_ratefloat1.0Error event sample rate (0.0–1.0)
traces_sample_rate`float\null`null
traces_sampler`callable\null`null
profiles_sample_rate`float\null`null
enable_logsboolfalseSend structured logs to Sentry (>=4.12.0)
max_breadcrumbsint100Max breadcrumbs per event
attach_stacktraceboolfalseStack traces on captureMessage()
in_app_includestring[][]Path prefixes belonging to your app
in_app_excludestring[][]Path prefixes for third-party code (hidden in traces)
ignore_exceptionsstring[][]Exception FQCNs to never report
ignore_transactionsstring[][]Transaction names to never report
error_types`int\null`error_reporting()
capture_silenced_errorsboolfalseCapture errors suppressed by @ operator
max_request_body_sizestring"medium""none" / "small" / "medium" / "always"
before_sendcallableidentityfn(Event $event, ?EventHint $hint): ?Event — return null to drop
before_breadcrumbcallableidentityfn(Breadcrumb $b): ?Breadcrumb — return null to discard
trace_propagation_targets`string[]\null`null
strict_trace_continuationboolfalseOnly continue an incoming distributed trace if the sentry-org_id baggage matches the SDK's org ID; prevents trace contamination from third-party Sentry-instrumented services (>=4.21.0)
debugboolfalseVerbose SDK output (use a PSR-3 logger option instead for structured output)

Environment Variables

VariableMaps toNotes
SENTRY_DSNdsnAlso $_SERVER['SENTRY_DSN']
SENTRY_ENVIRONMENTenvironment
SENTRY_RELEASEreleaseAlso reads $_SERVER['AWS_LAMBDA_FUNCTION_VERSION']
SENTRY_SPOTLIGHTspotlight
Laravel note: Uses SENTRY_LARAVEL_DSN (falls back to SENTRY_DSN). Other options follow SENTRY_TRACES_SAMPLE_RATE, SENTRY_PROFILES_SAMPLE_RATE, etc.

---

Verification

Test that Sentry is receiving events:

// Trigger a real error event — check the Sentry dashboard within seconds
throw new \Exception('Sentry PHP SDK test');

Or for a non-crashing check:

\Sentry\captureMessage('Sentry PHP SDK test');

Laravel:

php artisan sentry:test

If nothing appears: 1. Enable debug output:

   \Sentry\init([
       'dsn' => '...',
       'logger' => new \Sentry\Logger\DebugStdOutLogger(),
   ]);

2. Verify the DSN is correct (format: https://<key>@o<org>.ingest.sentry.io/<project>) 3. Check SENTRY_DSN (or SENTRY_LARAVEL_DSN) env var is set in the running process 4. For queue workers: ensure Sentry is initialized inside the worker process, not just the web process

---

Phase 4: Cross-Link

After completing PHP setup, check for a companion frontend missing Sentry:

ls frontend/ resources/js/ assets/ public/ 2>/dev/null
cat package.json frontend/package.json 2>/dev/null \
  | grep -E '"react"|"svelte"|"vue"|"next"|"nuxt"'

If a frontend exists without Sentry, suggest the matching skill:

Frontend detectedSuggest skill
React / Next.jssentry-react-sdk
Svelte / SvelteKitsentry-svelte-sdk
Vue / NuxtUse @sentry/vue — see docs.sentry.io/platforms/javascript/guides/vue/
Other JS/TSsentry-react-sdk (covers generic browser JS patterns)

---

Troubleshooting

IssueSolution
Events not appearingEnable logger option (DebugStdOutLogger), verify DSN, check env vars in the running process
Malformed DSN errorFormat: https://<key>@o<org>.ingest.sentry.io/<project>
Laravel exceptions not capturedEnsure Integration::handles($exceptions) is in bootstrap/app.php
Symfony exceptions not capturedVerify SentryBundle is registered in config/bundles.php
No traces appearingSet traces_sample_rate (not null); confirm auto-instrumentation is enabled
Profiling not workingexcimer extension required (Linux/macOS only; not available on Windows); requires traces_sample_rate > 0
enable_logs not workingRequires sentry/sentry >= 4.12.0, sentry/sentry-laravel >= 4.15.0, or sentry/sentry-symfony >= 5.4.0
Queue worker errors missingInit Sentry in the worker process itself, not just the web process; for Laravel use SENTRY_LARAVEL_DSN in worker .env
Too many transactionsLower traces_sample_rate or use traces_sampler to drop health check routes
PII not capturedSet send_default_pii: true; for Laravel set send_default_pii: true in config/sentry.php
@-suppressed errors missingSet capture_silenced_errors: true
Cross-service traces brokenCheck trace_propagation_targets; ensure downstream services have Sentry installed
Trace contamination from third-party servicesSet strict_trace_continuation: true to only continue traces where the incoming sentry-org_id baggage matches your SDK's org ID (>=4.21.0)

Related skills

How it compares

Pick sentry-php-sdk for Sentry-native cron uptime; pick generic logging skills when you only need stdout trails without alert routing.

FAQ

Who is sentry-php-sdk for?

Developers and software engineers working with sentry-php-sdk patterns described in the skill documentation.

When should I use sentry-php-sdk?

When Full Sentry SDK setup for PHP. Use when asked to "add Sentry to PHP", "install sentry/sentry", "setup Sentry in PHP", or configure error monitoring, tracing, profiling, logging, me.

Is sentry-php-sdk safe to install?

Review the Security Audits panel on this page before installing in production.

DevOps & CI/CDmonitoring

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.