Hosting pod Laravel w Polsce — wymagania, deploy i konfiguracja
Opublikowano: 8 kwietnia 2026 · Kategoria: Hosting
Krótka odpowiedź: Do Laravel wystarczy hosting współdzielony z PHP 8.2+, dostępem
SSH i możliwością ustawienia document root na katalog public/ — taką konfigurację oferują
np. LH.pl, CyberFolks, Zenbox i home.pl. VPS jest potrzebny dopiero przy kolejkach (queue workers),
WebSockets lub Dockerze.
Minimalne wymagania hostingu dla Laravel
Wymaganie
Minimalna wersja
Uwagi
PHP
8.2+
Laravel 11 wymaga PHP 8.2. Laravel 10 — PHP 8.1+
Rozszerzenia PHP
BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PDO, XML
Większość hostingów ma je domyślnie włączone
Composer
2.x
Przez SSH lub lokalnie z wgraniem vendor/
SSH
Zalecany
Potrzebny do artisan commands, migracji, Composer
Katalog public/
Dokument root domeny
Domena musi wskazywać na public/, nie na root projektu
MySQL / PostgreSQL
MySQL 8.0+ lub PostgreSQL 15+
Zależy od konfiguracji projektu
Pamięć PHP (memory_limit)
128 MB min, 256 MB zalecane
Composer wymaga 512 MB podczas install
Krok po kroku: deploy Laravel na hosting współdzielony
1. Wgraj pliki projektu
Wgraj cały projekt (poza vendor/ i .env) do katalogu poza public_html, np. /home/user/laravel-app/. Katalog public_html/ (lub
www/) będzie zawierał tylko zawartość public/.
Przed pierwszym uruchomieniem na hostingu produkcyjnym warto włączyć cache konfiguracji, tras
i widoków - na hostingu współdzielonym różnica w czasie odpowiedzi bywa odczuwalna, bo dysk (i
czasem I/O) jest wolniejszy niż na dedykowanym serwerze:
Uwaga: po każdej zmianie w plikach .env lub tras musisz wyczyścić cache (php artisan config:clear), inaczej Laravel będzie używał starej, zbuforowanej konfiguracji - częsty błąd na hostingu
współdzielonym, gdzie łatwo zapomnieć o tym kroku po edycji .env przez panel/FTP.
Najczęstsze błędy przy wdrażaniu Laravel na hostingu (i jak je naprawić)
Objaw
Najczęstsza przyczyna
Rozwiązanie
Biały ekran / 500 bez treści
APP_DEBUG=false ukrywa realny błąd
Tymczasowo ustaw APP_DEBUG=true w .env, sprawdź błąd, wróć
do false przed publikacją (nigdy nie zostawiaj debug włączonego na produkcji)
„No application encryption key has been specified"
Brak APP_KEY w .env
Uruchom php artisan key:generate przez SSH po skopiowaniu
.env.example do .env
„The stream or file ... could not be opened: Permission denied"
Złe uprawnienia katalogów storage/ i bootstrap/cache/
chmod -R 775 storage bootstrap/cache (na współdzielonym hostingu czasem wymagane
też ustawienie właściciela na użytkownika PHP-FPM)
Strona pokazuje kod PHP zamiast działać
Domena wskazuje na root projektu, nie na public/
Ustaw document root na public/ (symlink lub .htaccess - patrz krok 2 wyżej)
Zmiany w .env „nie działają"
Zbuforowana stara konfiguracja po config:cache
php artisan config:clear, dopiero potem ponownie
config:cache jeśli chcesz cache produkcyjny
Composer wywala „memory exhausted"
Limit memory_limit PHP za niski (Composer potrzebuje ~512 MB podczas instalacji)
php -d memory_limit=-1 composer.phar install lub podnieś
memory_limit w panelu hostingu na czas instalacji
Hosting współdzielony vs VPS dla Laravel — kiedy co wybrać?
Funkcja / wymaganie
Hosting współdzielony
VPS
Typowa aplikacja Laravel (CRUD, API, strona)
✓ Wystarczy
Możliwy, droższy
Laravel Queue Worker (asynchroniczne zadania)
✗ Brak trwałych procesów
✓ supervisor + artisan queue:work
Laravel Echo (WebSockets)
✗ Brak otwartych portów
✓ soketi lub Laravel Reverb
Laravel Scheduler (cron)
✓ Cron job co minutę
✓ Cron lub supervisor
Docker / Sail
✗ Niedostępny
✓ Pełna kontrola
Redis / Memcached cache
Zależy od hosta (rzadko)
✓ Dowolna konfiguracja
Koszt miesięczny
20–60 PLN/msc
50–200 PLN/msc
Polskie hostingi przyjazne dla Laravel
LH.pl — PHP 8.1-8.3, SSH, Composer w PATH, możliwość ustawienia document root przez DirectAdmin
CyberFolks — PHP 8.x, SSH na planach od Standard, Composer dostępny
Zenbox — PHP 8.x, SSH, cron jobs, dobra wydajność dla Laravel API
home.pl — PHP 8.x, własny panel z opcją ustawienia document root
Wskazówka: Przed zakupem hostingu zapytaj support czy: (1) można ustawić document
root domeny na podekatalogu, (2) PHP CLI jest dostępne przez SSH, (3) Composer jest zainstalowany
systemowo lub można go wgrać do katalogu projektu.
Porównanie hostingów pod Laravel — najważniejsze parametry
Dane na podstawie specyfikacji technicznych hostingodawców (sierpień 2026). Sprawdź
aktualne plany bezpośrednio u dostawcy.
Najczęstsze pytania
Czy Laravel działa na hostingu współdzielonym?
›
Tak, Laravel może działać na hostingu współdzielonym pod warunkiem spełnienia wymagań: PHP 8.2+ z rozszerzeniami BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PCRE, PDO, Tokenizer, XML. Konieczny jest też dostęp do Composera (przez SSH lub wgranie vendor/ ręcznie). Główne ograniczenie: Laravel wymaga skierowania katalogu głównego domeny na `public/`, a nie na root projektu. Nie wszystkie hostingi to umożliwiają.
Jak skierować domenę na katalog public/ Laravel na hostingu?
›
Są 3 metody: (1) Symlink — stwórz link symboliczny `ln -s /home/user/laravel-app/public /home/user/public_html` przez SSH; (2) Przenieś zawartość public/ do public_html i zaktualizuj ścieżki w index.php; (3) .htaccess w public_html: `RewriteEngine On\nRewriteRule ^(.*)$ /laravel/public/$1 [L]`. Metoda zależy od możliwości hostingu. Na LH.pl i CyberFolks symlink przez SSH działa dobrze.
Kiedy Laravel wymaga VPS zamiast hostingu współdzielonego?
›
VPS jest konieczny gdy: (1) używasz kolejek (queues) z Laravel Queue Worker — shared hosting nie pozwala na trwałe procesy w tle; (2) używasz WebSockets (Laravel Echo + pusher/soketi) — wymaga otwartego portu i trwałego procesu; (3) duże obciążenie (1000+ jednoczesnych użytkowników) — shared hosting ma limity CPU/RAM; (4) używasz Docker lub własnej konfiguracji PHP-FPM. Dla typowej aplikacji Laravel (API, strona firmowa) hosting współdzielony z PHP 8.2+ i SSH wystarczy.
Jak uruchomić Composer na hostingu współdzielonym dla Laravel?
›
Opcja 1 (SSH): `ssh user@server "cd /home/user/laravel && composer install --no-dev --optimize-autoloader"`. Opcja 2 (bez SSH): uruchom `composer install` lokalnie i wgraj katalog `vendor/` przez FTP/SFTP. Nigdy nie wgrywaj vendor/ do repozytorium — dodaj do .gitignore. Opcja 3 (GitHub Actions): automatyczny deploy przez CI/CD z krokiem `composer install` na serwerze po push. Polskie hosty oferujące SSH: LH.pl (plan Standard+), CyberFolks, zenbox.
Dlaczego Laravel na hostingu pokazuje biały ekran lub błąd 500 bez treści?
›
Najczęstsza przyczyna to APP_DEBUG=false w .env, które ukrywa treść błędu. Tymczasowo ustaw APP_DEBUG=true, odśwież stronę i sprawdź realny komunikat (najczęściej to brak APP_KEY, złe uprawnienia storage/ i bootstrap/cache/, albo document root wskazujący na root projektu zamiast na public/). Po zdiagnozowaniu problemu wróć do APP_DEBUG=false - nigdy nie zostawiaj trybu debug włączonego na produkcji, bo ujawnia dane wrażliwe.
Jak zoptymalizować Laravel przed uruchomieniem na hostingu produkcyjnym?
›
Uruchom php artisan config:cache, route:cache, view:cache i event:cache po każdym deployu - to buforuje konfigurację, trasy i widoki, co odczuwalnie przyspiesza działanie na wolniejszym I/O hostingu współdzielonego. Ważne: po każdej zmianie w .env lub trasach musisz wykonać php artisan config:clear, inaczej aplikacja będzie korzystać ze starej, zbuforowanej konfiguracji.
Szybkie przejście do ofert związanych z tym tematem
Wybraliśmy oferty i strony z kodami rabatowymi, które najczęściej pasują do tego scenariusza użycia.
Twoja prywatność = Twoja decyzja. Używamy anonimowych plików cookies Google Analytics,
żeby wiedzieć które porównania hostingów są dla Ciebie przydatne. Bez Twojej zgody nie uruchamiamy
żadnych skryptów śledzących — domyślnie wszystko jest wyłączone.
Szczegóły w polityce prywatności.