Laravel Artisan-Befehle über SSH: Vollständiger Leitfaden

Artisan ist die Kommandozeilenschnittstelle von Laravel, mit der Sie häufige Aufgaben automatisieren können. In diesem Leitfaden lernen Sie alle wichtigen Artisan-Befehle kennen, die Sie über SSH auf Ihrem Hosting verwenden können.

Was ist Artisan

Artisan ist in Laravel integriert und bietet:

  • Migrationen und Datenbankverwaltung
  • Cache-Management
  • Code-Generierung (make commands)
  • Warteschlangen- und Jobverwaltung
  • Wartungsmodus
  • Vieles mehr über benutzerdefinierte Befehle

SSH-Verbindung herstellen

Bevor Sie Artisan verwenden können, verbinden Sie sich über SSH.

Verbinden

ssh benutzername@ihrdomain.de
# Oder mit spezifischem Port
ssh -p 7777 benutzername@server.theory7.net

Zu Ihrem Projekt navigieren

cd ~/domains/ihrdomain.de/projekt

Artisan testen

php artisan --version
# Ausgabe: Laravel Framework 11.x.x
php artisan list
# Zeigt alle verfügbaren Befehle an

Cache-Befehle

Cache-Management ist entscheidend für die Performance.

Alle Caches leeren

# Leert alle Caches gleichzeitig
php artisan optimize:clear

Dies kombiniert:

  • config:clear
  • route:clear
  • view:clear
  • cache:clear

Konfigurations-Cache

# Konfiguration cachen
php artisan config:cache
# Konfigurations-Cache leeren
php artisan config:clear

Achtung: Nach config:cache wird .env nicht mehr direkt gelesen. Änderungen erfordern erneutes Cachen.

Routen-Cache

# Routen cachen
php artisan route:cache
# Routen-Cache leeren
php artisan route:clear

Beschleunigt die Routenauflösung erheblich.

View-Cache

# Alle Blade-Views vorkompilieren
php artisan view:cache
# View-Cache leeren
php artisan view:clear

Anwendungs-Cache

# Anwendungs-Cache leeren
php artisan cache:clear
# Mit spezifischem Store
php artisan cache:clear --store=file

Optimierung für die Produktion

# Alles für die Produktion cachen
php artisan optimize
# Oder ausführlich
php artisan config:cache
php artisan route:cache
php artisan view:cache

Datenbank-Befehle

Verwalten Sie Ihre Datenbankstruktur und -daten.

Migrationen

# Ausstehende Migrationen ausführen
php artisan migrate
# Mit force für die Produktion
php artisan migrate --force
# Letzte Batch zurücksetzen
php artisan migrate:rollback
# Spezifische Anzahl zurücksetzen
php artisan migrate:rollback --step=3
# Alle Migrationen zurücksetzen
php artisan migrate:reset
# Zurücksetzen und erneut ausführen (destruktiv!)
php artisan migrate:fresh

Datenbank-Seeding

# Alle Seeder ausführen
php artisan db:seed
# Spezifischer Seeder
php artisan db:seed --class=UserSeeder
# Fresh migrate mit Seeding
php artisan migrate:fresh --seed

Migrationsstatus

# Migrationsstatus anzeigen
php artisan migrate:status

Schema-Dump

# Schema in SQL dumpen
php artisan schema:dump
# Mit Pruning alter Migrationen
php artisan schema:dump --prune

Make-Befehle

Generieren Sie schnell Code mit Make-Befehlen.

Controller

# Basis-Controller
php artisan make:controller UserController
# Resource-Controller (CRUD)
php artisan make:controller PostController --resource
# API-Controller
php artisan make:controller Api/ProductController --api

Modelle

# Basis-Modell
php artisan make:model Post
# Mit Migration
php artisan make:model Post -m
# Mit allem (Migration, Factory, Seeder, Controller)
php artisan make:model Post --all

Migrationen

# Neue Migration
php artisan make:migration create_posts_table
# Änderung an bestehender Tabelle
php artisan make:migration add_status_to_posts_table --table=posts

Andere Ressourcen

# Request-Validierung
php artisan make:request StorePostRequest
# Middleware
php artisan make:middleware AuthenticateAdmin
# Event und Listener
php artisan make:event OrderShipped
php artisan make:listener SendOrderNotification
# Job
php artisan make:job ProcessPodcast
# Mail
php artisan make:mail OrderConfirmation
# Benachrichtigung
php artisan make:notification InvoicePaid

Warteschlangen-Befehle

Verwalten Sie Hintergrundjobs.

Warteschlangen-Worker

# Warteschlangen-Worker starten
php artisan queue:work
# Mit spezifischer Verbindung
php artisan queue:work database
# Mit Timeout und Speicherlimit
php artisan queue:work --timeout=60 --memory=128
# Nur N Jobs verarbeiten
php artisan queue:work --once
php artisan queue:work --max-jobs=100

Warteschlangen-Verwaltung

# Fehlgeschlagene Jobs anzeigen
php artisan queue:failed
# Fehlgeschlagenen Job erneut versuchen
php artisan queue:retry {id}
php artisan queue:retry all
# Fehlgeschlagenen Job entfernen
php artisan queue:forget {id}
php artisan queue:flush  # Alle fehlgeschlagenen Jobs
# Worker neu starten (nach Codeänderung)
php artisan queue:restart

Wartungsmodus

Setzen Sie Ihre Website vorübergehend offline.

Aktivieren

# Basis-Wartungsmodus
php artisan down
# Mit benutzerdefinierter Nachricht
php artisan down --message="Wir sind bald zurück!"
# Mit Retry-Header (Sekunden)
php artisan down --retry=60
# Bestimmte IPs zulassen
php artisan down --allow=123.456.789.0
# Mit geheimem Bypass-URL
php artisan down --secret="bypass-token"

Mit secret können Sie die Seite über folgende URL ansehen:

https://ihrdomain.de/bypass-token

Deaktivieren

php artisan up

Debugging-Befehle

Nützliche Befehle zum Debuggen.

Routen anzeigen

# Alle Routen auflisten
php artisan route:list
# Nach Name filtern
php artisan route:list --name=admin
# Nach Methode filtern
php artisan route:list --method=GET

Umgebungsinformationen

# Aktuelle Umgebung anzeigen
php artisan env
# .env-Werte verschlüsseln
php artisan env:encrypt

Tinker (REPL)

# Interaktive Shell starten
php artisan tinker
# In Tinker:
> User::count()
> User::find(1)
> App::environment()

Zeitplan-Befehle

Verwalten Sie geplante Aufgaben.

Zeitplan ausführen

# Scheduler manuell ausführen
php artisan schedule:run
# Geplante Aufgaben anzeigen
php artisan schedule:list
# Spezifischen Befehl testen
php artisan schedule:test

Zeitplan in Cronjob

Fügen Sie zu crontab hinzu:

* * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1

Speicher-Befehle

Verwalten Sie Speicher und Dateien.

# Öffentlichen Speicher-Link erstellen
php artisan storage:link
# Links überprüfen
ls -la public/storage

Speicherbereinigung

Benutzerdefinierter Befehl oder manuell:

# Temporäre Dateien älter als X Tage löschen
find storage/app/temp -mtime +7 -delete

Deployment-Befehle

Typischer Deployment-Workflow:

# 1. Wartungsmodus aktivieren
php artisan down
# 2. Abhängigkeiten aktualisieren (falls erforderlich)
composer install --no-dev --optimize-autoloader
# 3. Migrationen
php artisan migrate --force
# 4. Cache aufbauen
php artisan config:cache
php artisan route:cache
php artisan view:cache
# 5. Warteschlangen-Worker neu starten
php artisan queue:restart
# 6. Wartungsmodus deaktivieren
php artisan up

Einzeiler für Deployment

php artisan down && composer install --no-dev --optimize-autoloader && php artisan migrate --force && php artisan optimize && php artisan up

Benutzerdefinierte Artisan-Befehle

Erstellen Sie Ihre eigenen Befehle:

php artisan make:command SendWeeklyReport

Dies erstellt app/Console/Commands/SendWeeklyReport.php.

Verwandte Artikel

Brauchen Sie Hilfe?

Wir sind für Sie da! Stoßen Sie auf Probleme oder haben Sie Fragen? Unser Support-Team hilft Ihnen gerne persönlich weiter. Senden Sie uns eine Nachricht über das Ticketsystem - wir antworten in der Regel innerhalb weniger Stunden und denken gerne mit Ihnen mit.