Error monitoring for PHP.
With sentry/sentry, any PHP application reports errors and exceptions to Fehlo, with or without a framework. Setup is one Composer package and one call.
As of 24 October 2026, sentry/sentry 4.34.0, PHP 7.2 or later with the curl, json and mbstring extensions. We have not yet run the PHP SDK against Fehlo ourselves; it speaks the same protocol as the SDKs we tested.
For PHP without a framework, older in-house applications, or frameworks without their own package. Laravel and Symfony have their own guides.
1. Install the package
composer require sentry/sentry2. Start the SDK
As early as possible, right after Composer's autoloader, in your front controller or bootstrap file:
<?php
require __DIR__ . '/../vendor/autoload.php';
\Sentry\init([
'dsn' => 'https://<key>@app.fehlo.de/<project-id>',
'environment' => 'production',
'release' => 'my-app@1.0.0',
'send_default_pii' => false,
]);The example in Sentry's documentation sets send_default_pii to true. Don't copy that without thinking: headers, cookies and IP addresses then go along. Instead of in code, the SDK can read the values from the environment:
SENTRY_DSN=https://<key>@app.fehlo.de/<project-id>
SENTRY_ENVIRONMENT=production
SENTRY_RELEASE=my-app@1.0.03. Test it
The SDK reports uncaught exceptions by itself. Report a caught one like this:
try {
throw new \RuntimeException('Fehlo test error');
} catch (\Throwable $exception) {
\Sentry\captureException($exception);
}The issue appears in Fehlo within seconds, with stack trace and code context.
Arguments in stack traces
For stack traces to show function arguments, PHP needs zend.exception_ignore_args = Off in php.ini. Production configurations often have On. With Off, argument values end up in events too; Fehlo filters passwords and tokens on the server.
Privacy
send_default_pii defaults to false. Since version 4.33 there is also data_collection. Don't set data_collection: once it is set, its more permissive defaults apply, and the SDK sends IP addresses, cookies and bodies. Fehlo strips the sender IP and filters email addresses, passwords and tokens.
Questions
Nothing arrives. What should I check?
First the DSN: it has to point at app.fehlo.de. Second, whether your server or browser can reach https://app.fehlo.de (firewall, proxy, ad blocker). Third, whether this month's quota is used up; you get an email when it is. Fourth, whether sampleRate or beforeSend drops events. If only performance data is missing, this month's transactions may be used up.