# Sentry Laravel: SENTRY_LARAVEL_DSN is not SENTRY_DSN

## Setup

```
composer require sentry/sentry-laravel
php artisan sentry:publish --dsn=___PUBLIC_DSN___
```

The publish command creates `config/sentry.php` and writes the DSN to your `.env` as `SENTRY_LARAVEL_DSN`. Note the prefix: the generic `SENTRY_DSN` env var is ignored by this SDK. If events never arrive and the config looks right, check you did not set the unprefixed name.

Verify with the built-in command before writing any test routes:

```
php artisan sentry:test
```

## Stack trace arguments

To receive function arguments in stack traces, set in php.ini:

```
zend.exception_ignore_args = Off
```

PHP strips exception args by default, so without this your frames show signatures with no values.

## The quota warning is literal

```
SENTRY_TRACES_SAMPLE_RATE=1.0
```

The docs say, verbatim: be sure to lower this value in production otherwise you could burn through your quota quickly. The example ships at 1.0. For granular control use `traces_sampler`, and if queued jobs generate more traces than web requests, lower the rate per job with the `SentryTracesSampleRate` job middleware.

## Keep it out of dev and test

Sentry is active while developing and running tests unless you stop it, which slows your suite and pollutes your issue stream. Set `SENTRY_LARAVEL_DSN=null` (or leave it undefined) in your local and testing env files.