Ö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.

Innan du börjar
Se till att din dashboard är öppen – du kommer att behöva inloggningsuppgifterna som visas där (användarnamn, lösenord och anslutningsinformation för databasen).

Kom igång

1

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".

2

Klona ditt repository

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Installera beroenden

composer install
4

Konfigurera miljön

Kopiera exempelmiljöfilen och konfigurera din databas (se detaljerade instruktioner nedan):

cp .env.example .env
php artisan key:generate
5

Kör migreringar och pusha

php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Varje push till Git distribuerar din applikation automatiskt. Kontrollera din Module Work URL i dashboarden för att se din live-sajt.

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.

Vad är Docker?
Docker skapar isolerade "containrar" med all programvara du behöver (PHP, Composer, Node.js) utan att installera dem på din dator. Tänk på det som en lättviktig virtuell maskin.

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
Obs
Docker är valfritt för lokal utveckling. NStrim-plattformen hanterar distribution automatiskt – du behöver bara Docker om du vill köra kommandon lokalt utan att ha PHP installerat.

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

1

Öppna din .env-fil

Öppna .env-filen i projektets rotmapp med din kodredigerare.

2

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=
3

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>
Viktigt
Ditt databasnamn och användarnamn är vanligtvis samma som ditt användarnamn i dashboarden (t.ex. 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:

Kodändring git push Auto-distribution Live!

Din distribuerade applikations-URL följer detta format:

https://<your-subdomain>-<repo-name>.<session-domain>

Exempel: https://student01-module-a.demo.nstrim.app

För mer information, besök den officiella Laravel-dokumentationen.