Vilka krav ställer Laravel på webbhotellet?

Laravel 13 kräver PHP 8.3 eller senare, med tillägg som OpenSSL, PDO, Mbstring, cURL och Fileinfo aktiverade. Dessutom behöver du SSH-åtkomst för att köra Composer och Artisan, skrivrättigheter på storage/-mappen samt en MySQL- eller MariaDB-databas. För allvarligare projekt med köhantering och schemalagda jobb är ett VPS ett krav, inte ett alternativ.

Utvecklare med glasögon arbetar med kod på flera skärmar och en bärbar dator vid ett skrivbord

PHP-version och nödvändiga tillägg

Laravel 13 kräver PHP 8.3 som absolut minimum. PHP 8.4 och 8.5 stöds och är rimliga val för nya projekt. Kör du kvar på Laravel 12 ligger golvet på PHP 8.2.

Följande PHP-tillägg måste vara aktiverade på servern:

  • OpenSSL för kryptering, tokens och säker kommunikation
  • PDO för databaskoppling via Laravels ORM Eloquent
  • Mbstring för korrekt hantering av unicode och flerbyte-tecken
  • Tokenizer som Blade-templatemotorn och Artisan är beroende av
  • XML för XML-parsning och vissa paket
  • cURL för HTTP-anrop mot externa API:er och tjänster
  • Fileinfo för filtypsdetektering vid filuppladdning
  • Ctype, Filter, Hash, PCRE, DOM och Session som ingår i standardbygget hos praktiskt taget alla webbhotell, men som Laravel listar explicit

De flesta moderna webbhotell med PHP 8.3 eller nyare har dessa tillägg aktiverade som standard.

Composer och SSH-åtkomst

Composer är Laravels pakethanterare och utan SSH-åtkomst är driftsättning ett tungrott hantverk. Varje gång du uppdaterar beroenden eller lägger till ett paket behöver du köra composer install eller composer update från kommandoraden. Utan SSH måste du bygga projektet lokalt, komprimera vendor/-mappen och ladda upp den via FTP.

SSH ger dig också tillgång till Artisan, Laravels inbyggda CLI. Under och efter driftsättning kör du typiskt:

  • php artisan migrate --force kör databasmigreringar
  • php artisan optimize cachar config, routes och vyer i ett enda steg
  • php artisan queue:restart startar om köarbetare efter en deploy
  • php artisan storage:link skapar en symbolisk länk för publika filer

Databaskrav och konfiguration

Laravel 13 stöder MySQL 5.7 eller senare, MariaDB 10.3 eller senare, PostgreSQL 10 eller senare och SQLite. Konfigurationen sker via .env-filen i projektroten. Denna fil ska aldrig versionshanteras eftersom den innehåller databasuppgifter, APP_KEY och andra känsliga värden.

Filbehörigheter och katalogstruktur

Laravel skriver aktivt till två kataloger: storage/ och bootstrap/cache/. Webbservern måste ha skrivrättigheter dit.

En viktig detalj: Laravels publika rot är public/-katalogen, inte projektroten. Din domän ska peka mot /din-app/public/. På delat hosting med cPanel kan du lösa detta via "Add-on Domain" och ange public-katalogen som dokumentrot.

Prestanda med OPcache och Laravels egna cache-kommandon

OPcache är den enskilt viktigaste prestandafaktorn på servernivå. Utan OPcache tolkas och kompileras varje PHP-fil på nytt vid varje förfrågan. Med OPcache ligger den kompilerade bytekoden kvar i minnet, vilket tar bort merparten av startkostnaden för ett ramverk som Laravel med hundratals klassfiler per anrop.

Laravels egna cachningsmöjligheter bör aktiveras i produktionsmiljö:

  • php artisan config:cache slår ihop alla konfigurationsfiler till en enda cachad fil
  • php artisan route:cache kompilerar alla routes till en snabbare uppslagsstruktur
  • php artisan view:cache förrenderar alla Blade-vyer

Köhantering och schemalagda jobb

Laravels Queue-system kräver en köarbetare som kör som en permanent bakgrundsprocess. På ett VPS hanteras detta med Supervisor eller systemd. På delat webbhotell kan du inte köra permanenta bakgrundsprocesser.

Laravels Task Scheduler kräver ett enda cron-jobb på servern: * * * * * php /sökväg/till/artisan schedule:run. Det fungerar på de flesta webbhotell med SSH och crontab-åtkomst.

Livewire och Inertia.js

Livewire är helt serverrenderat och ställer inga ytterligare krav utöver Laravels egna. Inertia.js med Vue eller React fungerar utan SSR. Men om du aktiverar SSR för Inertia kräver det en körande Node.js-process på servern, vilket inte är möjligt på delat webbhotell.

Laravels egna hostingverktyg

Laravel Forge är ett serverhanteringsverktyg som kopplar ihop med VPS-leverantörer som DigitalOcean, Hetzner och Linode. Forge provisioner servern automatiskt med Nginx, PHP, MySQL och Composer.

Laravel Envoyer hanterar zero-downtime deployments genom att skapa en ny release-katalog och flytta symbollänken atomärt.

Laravel Vapor är en serverlös plattform byggd ovanpå AWS Lambda.

Delat webbhotell eller VPS?

Delat webbhotell fungerar för enkla Laravel-projekt utan köhantering och med SSH-åtkomst. Välj ett VPS om du använder Laravel Queues, Horizon, Redis, Inertia SSR eller Laravel Forge.

Topp 3 webbhotell enligt våra tester

  1. 1 Oderland 4.80 från 196 kr/mån
  2. 2 Kinsta 4.60 från 35 kr/mån
  3. 3 Inleed 4.60 från 39 kr/mån