Files
michaelschiemer/docs/getting-started/configuration.md
Michael Schiemer 55a330b223 Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
2025-08-11 20:13:26 +02:00

6.1 KiB

Konfiguration

Diese Anleitung erklärt, wie Sie das Framework nach der Installation konfigurieren können.

Umgebungsvariablen

Die Hauptkonfiguration des Frameworks erfolgt über Umgebungsvariablen, die in der .env-Datei definiert sind. Wenn Sie das Framework gerade installiert haben, sollten Sie eine Kopie der .env.example-Datei erstellt und in .env umbenannt haben.

Wichtige Umgebungsvariablen

Hier sind die wichtigsten Umgebungsvariablen, die Sie konfigurieren sollten:

Anwendung

APP_NAME="Meine Anwendung"
APP_ENV=development
APP_DEBUG=true
APP_URL=http://localhost:8000
APP_KEY=base64:...
  • APP_NAME: Der Name Ihrer Anwendung
  • APP_ENV: Die Umgebung, in der die Anwendung läuft (development, testing oder production)
  • APP_DEBUG: Ob Debug-Informationen angezeigt werden sollen (true oder false)
  • APP_URL: Die Basis-URL Ihrer Anwendung
  • APP_KEY: Der Verschlüsselungsschlüssel für Ihre Anwendung (wird automatisch generiert)

Datenbank

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=framework
DB_USERNAME=root
DB_PASSWORD=
  • DB_CONNECTION: Der Datenbanktyp (mysql, sqlite, pgsql oder sqlsrv)
  • DB_HOST: Der Hostname des Datenbankservers
  • DB_PORT: Der Port des Datenbankservers
  • DB_DATABASE: Der Name der Datenbank
  • DB_USERNAME: Der Benutzername für die Datenbankverbindung
  • DB_PASSWORD: Das Passwort für die Datenbankverbindung

Cache und Sitzungen

CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
  • CACHE_DRIVER: Der Cache-Treiber (file, redis oder memory)
  • SESSION_DRIVER: Der Sitzungstreiber (file, database oder redis)
  • SESSION_LIFETIME: Die Lebensdauer der Sitzung in Minuten

E-Mail

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
  • MAIL_DRIVER: Der E-Mail-Treiber (smtp, sendmail oder log)
  • MAIL_HOST: Der Hostname des SMTP-Servers
  • MAIL_PORT: Der Port des SMTP-Servers
  • MAIL_USERNAME: Der Benutzername für die SMTP-Verbindung
  • MAIL_PASSWORD: Das Passwort für die SMTP-Verbindung
  • MAIL_ENCRYPTION: Die Verschlüsselungsmethode (tls oder ssl)
  • MAIL_FROM_ADDRESS: Die Absenderadresse
  • MAIL_FROM_NAME: Der Absendername

Konfigurationsdateien

Neben den Umgebungsvariablen verwendet das Framework auch Konfigurationsdateien im Verzeichnis config/. Diese Dateien enthalten Konfigurationen, die nicht über Umgebungsvariablen gesteuert werden sollten oder komplexere Strukturen erfordern.

Wichtige Konfigurationsdateien

app.php

Die Datei config/app.php enthält allgemeine Anwendungskonfigurationen:

return [
    'name' => env('APP_NAME', 'Framework'),
    'env' => env('APP_ENV', 'production'),
    'debug' => env('APP_DEBUG', false),
    'url' => env('APP_URL', 'http://localhost'),
    'timezone' => 'UTC',
    'locale' => 'de',
    'fallback_locale' => 'en',
    'key' => env('APP_KEY'),
    'cipher' => 'AES-256-CBC',
    'providers' => [
        // Service-Provider
    ],
    'aliases' => [
        // Fassaden
    ],
];

database.php

Die Datei config/database.php enthält Datenbankkonfigurationen:

return [
    'default' => env('DB_CONNECTION', 'mysql'),
    'connections' => [
        'sqlite' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
        ],
        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
        // Weitere Datenbankverbindungen
    ],
    'migrations' => 'migrations',
    'redis' => [
        'client' => 'predis',
        'default' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
        ],
    ],
];

cache.php

Die Datei config/cache.php enthält Cache-Konfigurationen:

return [
    'default' => env('CACHE_DRIVER', 'file'),
    'stores' => [
        'file' => [
            'driver' => 'file',
            'path' => storage_path('framework/cache'),
        ],
        'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
        ],
        'memory' => [
            'driver' => 'memory',
        ],
    ],
    'prefix' => env('CACHE_PREFIX', 'framework_cache'),
];

Benutzerdefinierte Konfiguration

Sie können auch eigene Konfigurationsdateien erstellen, um anwendungsspezifische Einstellungen zu speichern. Erstellen Sie dazu eine neue Datei im Verzeichnis config/ und geben Sie ein Array zurück:

// config/myapp.php
return [
    'feature_flags' => [
        'new_ui' => env('FEATURE_NEW_UI', false),
        'api_v2' => env('FEATURE_API_V2', false),
    ],
    'limits' => [
        'max_items' => 100,
        'max_file_size' => 10 * 1024 * 1024, // 10 MB
    ],
];

Sie können dann auf diese Konfiguration zugreifen mit:

$newUiEnabled = config('myapp.feature_flags.new_ui');
$maxItems = config('myapp.limits.max_items');

Umgebungsspezifische Konfiguration

Das Framework unterstützt umgebungsspezifische Konfigurationen. Sie können verschiedene .env-Dateien für verschiedene Umgebungen erstellen:

  • .env - Standardkonfiguration
  • .env.development - Entwicklungsumgebung
  • .env.testing - Testumgebung
  • .env.production - Produktionsumgebung

Um eine bestimmte Umgebungskonfiguration zu laden, setzen Sie die Umgebungsvariable APP_ENV auf den entsprechenden Wert.

Nächste Schritte

Nachdem Sie das Framework konfiguriert haben, können Sie mit den ersten Schritten fortfahren, um Ihre erste Anwendung zu erstellen.