/sentry-php

The official PHP SDK for Sentry (sentry.io)

Primary LanguagePHPBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Sentry

Bad software is everywhere, and we're tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology. If you want to join us Check out our open positions

Official Sentry SDK for PHP

Latest Stable Version License Total Downloads Monthly Downloads Discord

Version Build Status Code Coverage
master CI Coverage Status
develop CI Coverage Status

The Sentry PHP error reporter tracks errors and exceptions that happen during the execution of your application and provides instant notification with detailed information needed to prioritize, identify, reproduce and fix each issue.

Getting started

Install

To install the SDK you will need to be using Composer in your project. To install it please see the docs.

This is our "core" SDK, meaning that all the important code regarding error handling lives here. If you are happy with using the HTTP client we recommend install the SDK like: sentry/sdk

composer require sentry/sdk

This package (sentry/sentry) is not tied to any specific library that sends HTTP messages. Instead, it uses Httplug to let users choose whichever PSR-7 implementation and HTTP client they want to use.

If you just want to get started quickly you should run the following command:

composer require sentry/sentry php-http/curl-client

This is basically what our metapackage (sentry/sdk) provides.

This will install the library itself along with an HTTP client adapter that uses cURL as transport method (provided by Httplug). You do not have to use those packages if you do not want to. The SDK does not care about which transport method you want to use because it's an implementation detail of your application. You may use any package that provides php-http/async-client-implementation and http-message-implementation.

Configuration

\Sentry\init(['dsn' => '___PUBLIC_DSN___' ]);

Usage

try {
    thisFunctionThrows(); // -> throw new \Exception('foo bar');
} catch (\Exception $exception) {
    \Sentry\captureException($exception);
}

Official integrations

The following integrations are fully supported and maintained by the Sentry team.

3rd party integrations

The following integrations are available and maintained by members of the Sentry community.

3rd party integrations using old SDK 2.x

3rd party integrations using old SDK 1.x

Community

Contributing to the SDK

Please refer to CONTRIBUTING.md.

Getting help/support

If you need help setting up or configuring the PHP SDK (or anything else in the Sentry universe) please head over to the Sentry Community on Discord. There is a ton of great people in our Discord community ready to help you!

Resources

  • Documentation
  • Discord
  • Stack Overflow
  • Twitter Follow

License

Licensed under the BSD license, see LICENSE