laravel
Überblick
Laravel ist ein PHP-Webanwendungs-Framework mit ausdrucksvoller, eleganter Syntax. Diese Anleitung führt Sie durch die Bereitstellung einer Laravel-Anwendung auf der NStrim-Plattform von Anfang bis Ende.
Schnellstart
Repository aus Vorlage erstellen
Gehen Sie in Ihrem Dashboard zum Tab Tools & Deployment. Klicken Sie auf "New Repository", wählen Sie die Laravel-Vorlage aus dem Dropdown, geben Sie einen Repository-Namen und eine Subdomain ein und klicken Sie auf "Create Repository".
Ihr Repository klonen
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Abhängigkeiten installieren
composer install
Umgebung konfigurieren
Kopieren Sie die Beispiel-Umgebungsdatei und konfigurieren Sie Ihre Datenbank (siehe detaillierte Anweisungen unten):
cp .env.example .env
php artisan key:generate
Migrationen ausführen & hochladen
php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Lokale Entwicklung mit Docker
Wenn Sie PHP nicht lokal installiert haben, können Sie Docker verwenden, um Laravel-Befehle auszuführen. Das Projekt enthält ein Dockerfile, das alles Notwendige einrichtet.
Voraussetzungen
Installieren Sie Docker Desktop für Ihr Betriebssystem (Windows, Mac oder Linux).
Befehle mit Docker ausführen
Anstatt php artisan migrate direkt auszuführen, führen Sie es in einem Docker-Container aus:
# Docker-Image erstellen (nur einmal erforderlich)
docker build -t laravel-app .
# Beliebigen Artisan-Befehl ausführen
docker run --rm laravel-app php artisan migrate
# Composer install ausführen
docker run --rm -v $(pwd):/var/www/html laravel-app composer install
# Interaktive Shell im Container
docker run --rm -it -v $(pwd):/var/www/html laravel-app bash
Datenbank-Konfiguration
Die NStrim-Plattform stellt Ihnen eine MySQL/MariaDB-Datenbank zur Verfügung. Sie müssen Ihre .env-Datei mit den korrekten Datenbank-Anmeldedaten konfigurieren, um eine Verbindung herzustellen.
Warum die Datenbank konfigurieren?
Laravel verwendet eine .env-Datei zum Speichern umgebungsspezifischer Konfiguration. Standardmäßig verwendet die Vorlage SQLite (eine dateibasierte Datenbank), aber NStrim bietet MySQL für bessere Leistung und Kompatibilität mit realen Szenarien.
Schritt-für-Schritt-Konfiguration
Öffnen Sie Ihre .env-Datei
Öffnen Sie die .env-Datei im Projektstamm mit Ihrem Code-Editor.
Finden Sie den Datenbankabschnitt
Suchen Sie nach diesen Zeilen (normalerweise um Zeile 23):
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
Mit Ihren Anmeldedaten aktualisieren
Ersetzen Sie mit den Anmeldedaten aus Ihrem Dashboard:
DB_CONNECTION=mysql
DB_HOST=db.<session-domain>
DB_PORT=3306
DB_DATABASE=<your-username>
DB_USERNAME=<your-username>
DB_PASSWORD=<your-password>
student01). Überprüfen Sie den Anmeldedatenbereich Ihres Dashboards für genaue Werte.Konfigurationsbeispiel
Wenn Ihr Benutzername student01 und die Session-Domain demo.nstrim.app ist:
DB_CONNECTION=mysql
DB_HOST=db.demo.nstrim.app
DB_PORT=3306
DB_DATABASE=student01
DB_USERNAME=student01
DB_PASSWORD=your-password-from-dashboard
Migrationen ausführen
Migrationen sind Laravels Methode zum Erstellen von Datenbanktabellen. Nach der Konfiguration Ihrer Datenbank führen Sie Migrationen aus, um die erforderlichen Tabellen einzurichten:
php artisan migrate
Wenn Sie alle Migrationen zurücksetzen und erneut ausführen müssen (dies löscht alle Daten):
php artisan migrate:fresh
Um Migrationen mit Seed-Daten auszuführen (wenn Ihr Projekt Seeder hat):
php artisan migrate:fresh --seed
Projektstruktur
Verstehen, wo sich Dateien befinden:
├── app/ # Anwendungscode
│ ├── Http/
│ │ └── Controllers/ # Hier befinden sich Ihre Controller
│ └── Models/ # Eloquent Models
├── config/ # Konfigurationsdateien
├── database/
│ ├── migrations/ # Datenbank-Migrationen
│ └── seeders/ # Datenbank-Seeder
├── public/ # Öffentliche Assets (CSS, JS, Bilder)
├── resources/
│ └── views/ # Blade Templates
├── routes/
│ └── web.php # Web-Routen (URL → Controller)
├── .env # Umgebungskonfiguration (DB, etc.)
└── composer.json # PHP-Abhängigkeiten
Nützliche Befehle
php artisan serve
Lokalen Entwicklungsserver starten
php artisan migrate
Datenbank-Migrationen ausführen
php artisan migrate:status
Migrationsstatus prüfen
php artisan make:controller
Neuen Controller erstellen
php artisan make:model -m
Model mit Migration erstellen
php artisan route:list
Alle registrierten Routen auflisten
Fehlerbehebung
SQLSTATE[HY000] [2002] Connection refused
Ursache: Datenbank-Host ist falsch oder Datenbankserver ist nicht erreichbar.
Lösung: Überprüfen Sie, ob DB_HOST in Ihrer .env-Datei mit dem Datenbank-Host aus Ihrem Dashboard übereinstimmt (normalerweise db.<session-domain>).
SQLSTATE[HY000] [1045] Access denied for user
Ursache: Falscher Benutzername oder Passwort.
Lösung: Überprüfen Sie, ob DB_USERNAME und DB_PASSWORD genau mit dem übereinstimmen, was in Ihrem Dashboard angezeigt wird. Passwörter sind Groß-/Kleinschreibung-sensitiv!
SQLSTATE[HY000] [1049] Unknown database
Ursache: Datenbankname existiert nicht.
Lösung: Stellen Sie sicher, dass DB_DATABASE auf Ihren Benutzernamen gesetzt ist (z.B. student01). Ihre Datenbank wurde mit demselben Namen wie Ihr Benutzername erstellt.
No application encryption key has been specified
Ursache: APP_KEY fehlt in der .env-Datei.
Lösung: Führen Sie php artisan key:generate aus, um einen neuen Schlüssel zu generieren.
500 Server Error nach Bereitstellung
Ursache: Normalerweise ein Konfigurationsproblem oder fehlende Abhängigkeiten.
Lösung: Überprüfen Sie:
.env-Datei existiert und hat korrekte Werte- APP_KEY ist gesetzt (führen Sie
php artisan key:generateaus) - Alle Abhängigkeiten sind installiert (
composer install) - Datenbank-Anmeldedaten sind korrekt
Bereitstellungs-Workflow
Jedes Mal, wenn Sie Code zu Git pushen, wird Ihre Anwendung automatisch bereitgestellt:
Ihre bereitgestellte Anwendungs-URL folgt diesem Format:
https://<your-subdomain>-<repo-name>.<session-domain>
Beispiel: https://student01-module-a.demo.nstrim.app