Vilka krav ställer Laravel på webbhotellet?
Laravel 12 kräver PHP 8.2 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.
PHP-version och nödvändiga tillägg
Laravel 12, som släpptes i februari 2025, kräver PHP 8.2 som absolut minimum. PHP 8.3 och 8.4 stöds fullt ut och rekommenderas för nya projekt.
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
De flesta moderna webbhotell med PHP 8.2+ 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 --forcekör databasmigreringarphp artisan optimizecachar config, routes och vyer i ett enda stegphp artisan queue:restartstartar om köarbetare efter en deployphp artisan storage:linkskapar en symbolisk länk för publika filer
Databaskrav och konfiguration
Laravel 12 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å. På en server med OPcache aktiverat kan Laravel-applikationer hantera tre till fyra gånger fler förfrågningar per sekund jämfört med utan.
Laravels egna cachningsmöjligheter bör aktiveras i produktionsmiljö:
php artisan config:cacheslår ihop alla konfigurationsfiler till en enda cachad filphp artisan route:cachekompilerar alla routes till en snabbare uppslagsstrukturphp artisan view:cachefö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. Läs mer om webbhotell för Laravel och webbhotell med PHP.