Laravel
Översikt
Laravel är ett PHP-ramverk för webbapplikationer med uttrycksfull och elegant syntax. Den här guiden tar dig igenom hur du distribuerar en Laravel-applikation på NStrim-plattformen från början till slut.
Kom igång
Skapa repository från mall
Gå till fliken Tools & Deployment i din dashboard. Klicka på knappen "New Repository", välj Laravel-mallen från rullgardinsmenyn, ange ett repository-namn och en subdomän och klicka sedan på "Create Repository".
Klona ditt repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Installera beroenden
composer install
Konfigurera miljön
Kopiera exempelmiljöfilen och konfigurera din databas (se detaljerade instruktioner nedan):
cp .env.example .env
php artisan key:generate
Kör migreringar och pusha
php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Lokal utveckling med Docker
Om du inte har PHP installerat lokalt kan du använda Docker för att köra Laravel-kommandon. Projektet innehåller en Dockerfile som ställer in allt du behöver.
Förutsättningar
Installera Docker Desktop för ditt operativsystem (Windows, Mac eller Linux).
Köra kommandon med Docker
Istället för att köra php artisan migrate direkt kör du det inuti en Docker-container:
# Build the Docker image (only needed once)
docker build -t laravel-app .
# Run any artisan command
docker run --rm laravel-app php artisan migrate
# Run composer install
docker run --rm -v $(pwd):/var/www/html laravel-app composer install
# Interactive shell inside container
docker run --rm -it -v $(pwd):/var/www/html laravel-app bash
Databaskonfiguration
NStrim-plattformen tillhandahåller en MySQL/MariaDB-databas. Du måste konfigurera din .env-fil med rätt databasuppgifter för att kunna ansluta.
Varför konfigurera databasen?
Laravel använder en .env-fil för att lagra miljöspecifik konfiguration. Som standard använder mallen SQLite (en filbaserad databas), men NStrim erbjuder MySQL för bättre prestanda och kompatibilitet med verkliga scenarier.
Steg-för-steg-konfiguration
Öppna din .env-fil
Öppna .env-filen i projektets rotmapp med din kodredigerare.
Hitta databassektionen
Leta efter dessa rader (vanligtvis runt rad 23):
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
Uppdatera med dina inloggningsuppgifter
Ersätt med uppgifterna från din 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). Kontrollera avsnittet med inloggningsuppgifter i din dashboard för exakta värden.Konfigurationsexempel
Om ditt användarnamn är student01 och sessionsdomänen är demo.nstrim.app:
DB_CONNECTION=mysql
DB_HOST=db.demo.nstrim.app
DB_PORT=3306
DB_DATABASE=student01
DB_USERNAME=student01
DB_PASSWORD=your-password-from-dashboard
Köra migreringar
Migreringar är Laravels sätt att skapa databastabeller. När du har konfigurerat din databas kör du migreringar för att sätta upp de tabeller som behövs:
php artisan migrate
Om du behöver återställa och köra alla migreringar på nytt (detta raderar all data):
php artisan migrate:fresh
För att köra migreringar med seed-data (om ditt projekt har seeders):
php artisan migrate:fresh --seed
Projektstruktur
Förstå var filerna finns:
├── app/ # Applikationskod
│ ├── Http/
│ │ └── Controllers/ # Dina controllers placeras här
│ └── Models/ # Eloquent Models
├── config/ # Konfigurationsfiler
├── database/
│ ├── migrations/ # Databasmigreringar
│ └── seeders/ # Databas-seeders
├── public/ # Publika tillgångar (CSS, JS, bilder)
├── resources/
│ └── views/ # Blade-mallar
├── routes/
│ └── web.php # Webbrutter (URL → Controller)
├── .env # Miljökonfiguration (DB, etc.)
└── composer.json # PHP-beroenden
Vanliga uppgifter
Skapa en ny controller
php artisan make:controller ProductController
Skapa en ny model med migrering
php artisan make:model Product -m
Lägga till en rutt
Redigera routes/web.php:
Route::get('/products', [ProductController::class, 'index']);
Rensa cache
php artisan cache:clear
php artisan config:clear
php artisan view:clear
Användbara kommandon
php artisan serve
Starta lokal utvecklingsserver
php artisan migrate
Kör databasmigreringar
php artisan migrate:status
Kontrollera migreringsstatus
php artisan make:controller
Skapa en ny controller
php artisan make:model -m
Skapa model med migrering
php artisan route:list
Lista alla registrerade rutter
php artisan tinker
Interaktivt PHP-skal för testning
Felsökning
SQLSTATE[HY000] [2002] Connection refused
Orsak: Databasvärden är felaktig eller databasservern är inte tillgänglig.
Lösning: Kontrollera att DB_HOST i din .env-fil matchar databasvärden från din dashboard (vanligtvis db.<session-domain>).
SQLSTATE[HY000] [1045] Access denied for user
Orsak: Fel användarnamn eller lösenord.
Lösning: Dubbelkolla att DB_USERNAME och DB_PASSWORD matchar exakt det som visas i din dashboard. Lösenord är skiftlägeskänsliga!
SQLSTATE[HY000] [1049] Unknown database
Orsak: Databasnamnet finns inte.
Lösning: Verifiera att DB_DATABASE är inställt på ditt användarnamn (t.ex. student01). Din databas är förskapad med samma namn som ditt användarnamn.
No application encryption key has been specified
Orsak: APP_KEY saknas i .env.
Lösning: Kör php artisan key:generate för att generera en ny nyckel.
Class 'App\Http\Controllers\...' not found
Orsak: Autoloadern känner inte till din nya klass.
Lösning: Kör composer dump-autoload för att återgenerera autoloadern.
Page shows old content after changes
Orsak: Laravel cachar vyer eller konfiguration.
Lösning: Rensa alla cacher:
php artisan cache:clear
php artisan config:clear
php artisan view:clear
500 Server Error after deployment
Orsak: Vanligtvis ett konfigurationsproblem eller saknade beroenden.
Lösning: Kontrollera att:
.env-filen finns och har korrekta värden- APP_KEY är inställd (kör
php artisan key:generate) - Alla beroenden är installerade (
composer install) - Databasuppgifterna är korrekta
Kontrollera din databas
Du kan komma åt phpMyAdmin för att hantera din databas visuellt. Klicka på MySQL-knappen i din dashboard för att öppna phpMyAdmin. Logga in med samma uppgifter som visas i din dashboard.
Från phpMyAdmin kan du:
- Visa alla tabeller som skapats av migreringar
- Bläddra i och redigera data direkt
- Köra anpassade SQL-frågor
- Exportera/importera databasdata
Distributionsflöde
Varje gång du pushar kod till Git distribueras din applikation automatiskt:
Din distribuerade applikations-URL följer detta format:
https://<your-subdomain>-<repo-name>.<session-domain>
Exempel: https://student01-module-a.demo.nstrim.app