Laravel Doctor, auf der Laracon US 2026 in Boston angekündigt, ist ein neues First-Party-Paket mit einem artisan-doctor-Befehl zur Diagnose des Anwendungszustands. Es wandelt die klassische Checkliste bei defekten Installationen — fehlende .env, fehlender APP_KEY, nicht beschreibbare Storage-Verzeichnisse, PHP-Versionskonflikte — in ausführbaren Code um. Auch Pakete können eigene Prüfungen registrieren.
Jede Diagnose ist eine Klasse, die genau einen Aspekt prüft und einen von sechs Status zurückgibt: pass, notice, warn, fail, skip oder error. Der Befehl endet bei Fehlern mit Exit-Code ungleich null; --fail-on=warn lässt auch Warnungen fehlschlagen, --fail-on=never liefert stets einen sauberen Exit-Code.
Die mitgelieferten Prüfungen umfassen Umgebung (.env, APP_KEY, PHP-Version gegen die composer.json-Constraint, Extensions, Zeitzone), Composer (installierte Abhängigkeiten, optimierter Autoload-Dump, reparierbare composer.lock-Probleme), Konfiguration, Datenbankverbindung inklusive SQLite-Dateien und ausstehender Migrationen, Erreichbarkeit von Cache-, Queue-, Scheduler- und Session-Treibern (inklusive Redis), Storage-Beschreibbarkeit und den storage:link-Symlink sowie Sicherheit (Debug-Modus passend zur Umgebung, .env in .gitignore, Dependency-Audit). Doctor ordnet die App einem Modus zu — local oder production; staging ist bekannt, unbekannte Umgebungen werden wie production behandelt —, sodass eine sync-Queue lokal besteht, in production aber warnt.
Installation via composer require laravel/doctor --dev, danach php artisan doctor. Behebbare Probleme werden interaktiv bestätigt; php artisan doctor --fix führt Reparaturen automatisch aus: fehlende .env anlegen, APP_KEY generieren, Debug-Modus in production deaktivieren, .env gitignorieren, Storage-Link erstellen und Berechtigungen reparieren. Diagnosen lassen sich mit --only/--except nach Gruppe, Klasse oder Paket-Wildcard filtern (z. B. --except=laravel/*) oder per php artisan vendor:publish --tag=doctor-config dauerhaft konfigurieren.
Pakete registrieren Diagnosen über die Doctor-Facade im Service Provider; php artisan make:diagnostic erzeugt eine eigene Prüfung, die Laravel\Doctor\Diagnostic erweitert und eine check()-Methode implementiert. In messages() liegen Zusammenfassungen, Lösungstexte, Doku-Links und Fix-Bestätigungen. Wer Laravel\Doctor\Contracts\Fixable implementiert und Fehler mit ->fixable() markiert, kann Reparaturen anbieten, optional auf einen EnvironmentMode beschränkt.
Neben der CLI-Ausgabe gibt es --format=json für maschinenlesbare Berichte und --format=github für GitHub-Actions-Annotationen; beide lehnen --fix ab. Ein viertes Format folgt der Laravel-PAO-Konvention — eine JSON-Zeile mit Zählwerten am Anfang — und aktiviert sich automatisch, wenn der Laravel Agent Detector Claude Code, Cursor oder ähnliche Agenten erkennt. So dient artisan doctor KI-Coding-Agenten als finaler Sanity-Check. Programmatisch funktioniert Doctor::run() mit only(), except(), bail() und fixUsing().
Laravel Doctor benötigt PHP 8.3 sowie Laravel 12 oder 13, steht unter MIT-Lizenz und ist im GitHub-Repository laravel/doctor dokumentiert.
Kommentare
Noch keine Kommentare — schreib den ersten.
Starte die Diskussion
Kein Konto, kein Passwort nötig — gib einfach deine E-Mail-Adresse ein, wir senden dir einen einmaligen Anmelde-Link. Beim ersten Mal bist du damit automatisch angemeldet.
Deine Bewertung wird nach der Anmeldung automatisch übernommen.
Schau in dein Postfach
Wir haben einen Anmelde-Link an … gesendet. Öffne ihn auf diesem Gerät — dieser Tab meldet dich automatisch an.
Warte auf deinen Klick …
·