Laravel
Oversikt
Laravel er et PHP-rammeverk for webapplikasjoner med uttrykksfull og elegant syntaks. Denne veiledningen tar deg gjennom distribueringen av en Laravel-applikasjon på NStrim-plattformen fra start til slutt.
Hurtigstart
Opprett repository fra mal
Gå til fanen Tools & Deployment i dashbordet. Klikk på "New Repository", velg Laravel-malen fra nedtrekksmenyen, skriv inn et repository-navn og et subdomene, og klikk deretter på "Create Repository".
Klon ditt repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Installer avhengigheter
composer install
Konfigurer miljøet
Kopier eksempelfilen for miljøet og konfigurer databasen din (se detaljerte instruksjoner nedenfor):
cp .env.example .env
php artisan key:generate
Kjør migrasjoner og push
php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Lokal utvikling med Docker
Hvis du ikke har PHP installert lokalt, kan du bruke Docker til å kjøre Laravel-kommandoer. Prosjektet inneholder en Dockerfile som setter opp alt du trenger.
Forutsetninger
Installer Docker Desktop for ditt operativsystem (Windows, Mac eller Linux).
Kjøre kommandoer med Docker
I stedet for å kjøre php artisan migrate direkte, kjører du den inne i en Docker-container:
# Bygg Docker-imaget (kun nødvendig én gang)
docker build -t laravel-app .
# Kjør hvilken som helst artisan-kommando
docker run --rm laravel-app php artisan migrate
# Kjør composer install
docker run --rm -v $(pwd):/var/www/html laravel-app composer install
# Interaktivt skall inne i containeren
docker run --rm -it -v $(pwd):/var/www/html laravel-app bash
Databasekonfigurasjon
NStrim-plattformen gir deg en MySQL/MariaDB-database. Du må konfigurere .env-filen din med riktige databaseopplysninger for å koble til.
Hvorfor konfigurere databasen?
Laravel bruker en .env-fil til å lagre miljøspesifikk konfigurasjon. Som standard bruker malen SQLite (en filbasert database), men NStrim tilbyr MySQL for bedre ytelse og kompatibilitet med reelle scenarier.
Trinn-for-trinn-konfigurasjon
Åpne .env-filen din
Åpne .env-filen i prosjektroten med kodeeditoren din.
Finn databaseseksjonen
Se etter disse linjene (vanligvis rundt linje 23):
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
Oppdater med dine påloggingsdetaljer
Erstatt med opplysningene fra dashbordet ditt:
DB_CONNECTION=mysql
DB_HOST=db.<session-domain>
DB_PORT=3306
DB_DATABASE=<your-username>
DB_USERNAME=<your-username>
DB_PASSWORD=<your-password>
student01). Sjekk påloggingsdelen i dashbordet for nøyaktige verdier.Konfigurasjonseksempel
Hvis brukernavnet ditt er student01 og sesjonsdomenet er 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
Kjøre migrasjoner
Migrasjoner er Laravels måte å opprette databasetabeller på. Etter at du har konfigurert databasen din, kjører du migrasjoner for å sette opp de nødvendige tabellene:
php artisan migrate
Hvis du må tilbakestille og kjøre alle migrasjoner på nytt (dette sletter alle data):
php artisan migrate:fresh
For å kjøre migrasjoner med seed-data (hvis prosjektet ditt har seedere):
php artisan migrate:fresh --seed
Prosjektstruktur
Forstå hvor filene er plassert:
├── app/ # Applikasjonskode
│ ├── Http/
│ │ └── Controllers/ # Kontrollerne dine ligger her
│ └── Models/ # Eloquent Models
├── config/ # Konfigurasjonsfiler
├── database/
│ ├── migrations/ # Databasemigrasjoner
│ └── seeders/ # Database-seedere
├── public/ # Offentlige ressurser (CSS, JS, bilder)
├── resources/
│ └── views/ # Blade-maler
├── routes/
│ └── web.php # Web-ruter (URL → Controller)
├── .env # Miljøkonfigurasjon (DB, osv.)
└── composer.json # PHP-avhengigheter
Nyttige kommandoer
php artisan serve
Start lokal utviklingsserver
php artisan migrate
Kjør databasemigrasjoner
php artisan migrate:status
Sjekk migrasjonsstatus
php artisan make:controller
Opprett en ny controller
php artisan make:model -m
Opprett model med migrasjon
php artisan route:list
List opp alle registrerte ruter
Feilsøking
SQLSTATE[HY000] [2002] Connection refused
Årsak: Databaseverten er feil eller databaseserveren er ikke tilgjengelig.
Løsning: Sjekk at DB_HOST i .env-filen din samsvarer med databaseverten fra dashbordet (vanligvis db.<session-domain>).
SQLSTATE[HY000] [1045] Access denied for user
Årsak: Feil brukernavn eller passord.
Løsning: Kontroller at DB_USERNAME og DB_PASSWORD stemmer nøyaktig med det som vises i dashbordet. Passord skiller mellom store og små bokstaver!
SQLSTATE[HY000] [1049] Unknown database
Årsak: Databasenavnet finnes ikke.
Løsning: Sjekk at DB_DATABASE er satt til brukernavnet ditt (f.eks. student01). Databasen din er forhåndsopprettet med samme navn som brukernavnet ditt.
No application encryption key has been specified
Årsak: APP_KEY mangler i .env-filen.
Løsning: Kjør php artisan key:generate for å generere en ny nøkkel.
500 Server Error etter distribusjon
Årsak: Vanligvis et konfigurasjonsproblem eller manglende avhengigheter.
Løsning: Sjekk at:
.env-filen finnes og har riktige verdier- APP_KEY er satt (kjør
php artisan key:generate) - Alle avhengigheter er installert (
composer install) - Databaseopplysningene er riktige
Distribusjons-arbeidsflyt
Hver gang du pusher kode til Git, blir applikasjonen din automatisk distribuert:
Den distribuerte applikasjons-URL-en din følger dette formatet:
https://<your-subdomain>-<repo-name>.<session-domain>
Eksempel: https://student01-module-a.demo.nstrim.app