The Sentry PHP error reporter tracks errors and exceptions that happen during the execution of your application and provides instant notification with detailed informations needed to prioritize, identify, reproduce and fix each issue. Learn more about automatic PHP error reporting with Sentry.
- Automatically report (un)handled exceptions and errors
- Send customized diagnostic data
- Process and sanitize data before sending it over the network
To install the SDK you will need to be using Composer in your project. To install it please see the docs.
Sentry PHP 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:
php composer.phar require sentry/sentry php-http/curl-client guzzlehttp/psr7
This will install the library itself along with an HTTP client adapter that uses
cURL as transport method (provided by Httplug) and a PSR-7 implementation
(provided by Guzzle). 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
.
namespace XXX;
use Sentry\ClientBuilder;
require 'vendor/autoload.php';
// Instantiate the SDK with your DSN
$client = ClientBuilder::create(['server' => 'http://[email protected]/1'])->getClient();
// Capture an exception
$eventId = $client->captureException(new \RuntimeException('Hello World!'));
// Give the user feedback
echo 'Sorry, there was an error!';
echo 'Your reference ID is ' . $eventId;
For more information, see our documentation.
Other packages exists to integrate this SDK into the most common frameworks.
The following integrations are fully supported and maintained by the Sentry team.
The following integrations are available and maintained by members of the Sentry community.
- Nette
- ZendFramework
- WordPress
- Drupal
- OpenCart
- ... feel free to be famous, create a port to your favourite platform!
- Documentation
- Bug Tracker
- Code
- Mailing List
- IRC (irc.freenode.net, #sentry)
Dependencies are managed through composer:
$ composer install
Tests can then be run via phpunit:
$ vendor/bin/phpunit
-
Make sure
CHANGES
is up to date (add the release date) andmaster
is green. -
Create a new branch for the minor version (if not present):
$ git checkout -b releases/2.1.x
- Update the hardcoded version tag in
Client.php
:
namespace Sentry;
class Client
{
const VERSION = '2.1.0';
}
- Commit the change:
$ git commit -a -m "2.1.0"
- Tag the branch:
git tag 2.1.0
- Push the tag:
git push --tags
- Switch back to
master
:
git checkout master
- Add the next minor release to the
CHANGES
file:
## 2.1.0 (unreleased)
- Update the version in
Client.php
:
namespace Sentry;
class Client implements ClientInterface
{
const VERSION = '2.1.x-dev';
}
- Lastly, update the composer version in
composer.json
:
"extra": {
"branch-alias": {
"dev-master": "2.1.x-dev"
}
}
All done! Composer will pick up the tag and configuration automatically.