Procédure
Na LWS Panel katalog poddomeny jest narzucony: /htdocs/app.exemple.com/ dla app.exemple.com i nie może on wskazywać na katalog public/ Laravela. Aby opublikować opracowaną przez Ciebie aplikację Laravel, umieść cały projekt w tym katalogu, dodaj u jego głównej lokalizacji plik .htaccess, który kieruje odwiedzających do public/, zainstaluj zależności za pomocą Composera w Terminalu, a następnie skonfiguruj plik .env. Ta pomoc opisuje szczegółowo te kroki oraz poszukiwanie przyczyny błędu 500.
W panelu hostingowym, w sekcji „Zarządzanie domeną”, otwórz „Subdomeny”. W polu „Subdomena do dodania” wpisz tylko część poprzedzającą domenę (na przykład app), a następnie kliknij „+ dodaj”. Certyfikat SSL subdomeny generuje się w około 3 minuty: wyświetlany jest licznik „Pozostały czas”.
Kolumna „Katalog” wskazuje folder subdomeny: app.exemple.com, czyli /htdocs/app.exemple.com/. Nie ma żadnego pola pozwalającego wybrać inny folder. Szczegóły tego ekranu znajdują się w pomocy Jak utworzyć subdomeny w LWS Panel?

Umieść cały projekt (foldery app, bootstrap, config, public, routes, storage, pliki artisan i composer.json…) bezpośrednio w /htdocs/app.exemple.com/. Plik index.php Laravela musi znajdować się w lokalizacji /htdocs/app.exemple.com/public/index.php.
Za pomocą Menedżera plików (sekcja „Pliki”) prześlij archiwum .zip projektu przez „Prześlij” (maksymalnie 1 125 Mo na plik), zaznacz je, a następnie kliknij „Wyodrębnij”. Przy bardzo dużej liczbie plików lepiej sprawdzi się program FTP. Jeśli Twój projekt jest w Git, możesz go także sklonować z Terminala: zobacz Jak używać GIT z terminalem Web na moim hostingu współdzielonym LWS?
Ponieważ katalog subdomeny nie może wskazywać na public/, to plik .htaccess umieszczony w katalogu głównym /htdocs/app.exemple.com/ (obok folderu public, nie wewnątrz niego) przekierowuje odwiedzających do public/. Jego zawartość znajduje się w pomocy Instalacja Laravela na współdzielonym hostingu LWS, w części „Jak prawidłowo skonfigurować swoją stronę Laravel?”.
W Menedżerze plików otwórz katalog subdomeny, kliknij „+ Plik” i nazwij go .htaccess. Następnie kliknij jego nazwę, aby otworzyć go w „Edytorze kodu”, wklej zawartość, a potem kliknij „Zapisz zmiany”.
Nie modyfikuj pliku .htaccess, który już znajduje się w public/: jest on dostarczany z Laravel i kieruje żądania do index.php.
W sekcji „Baza danych & PHP” otwórz „Konfiguracja php”. W zakładce „Instalacja i wybór PHP” sprawdź, czy wybrana wersja jest zaznaczona (na przykład „PHP 8.5 + Ioncube (recommended)”). W zakładce „Konfiguracja PHP według stron” wybierz następnie tę wersję na linii swojej subdomeny, a potem kliknij „Zapisz”.

Jeśli baner wskazuje „Uwaga, zadeklarowano plik(i) .htaccess, co nadrzędnie zastępuje wersję PHP wyświetlaną w Twoim panelu klienta”, wersja PHP tego folderu pochodzi z wiersza w pliku .htaccess, którego ścieżka jest wyświetlona: to właśnie ten wiersz należy zmodyfikować. Więcej szczegółów w Jak skonfigurować PHP na moim hostingu?
Otwórz „Oprogramowanie”, a następnie „Terminal”. Konsola uruchamia się w katalogu ~/htdocs. Przejdź do katalogu subdomeny, wyświetl wersję PHP konsoli, a następnie zainstaluj zależności projektu:
cd app.exemple.com
php -v
composer installWersja wyświetlana przez php -v musi być zgodna z Twoją wersją Laravela. Jeśli nie, zmień wersję PHP Terminala zgodnie z Jak zmienić wersję PHP w Terminal Web LWS Panel.
Plik .env znajduje się w katalogu głównym projektu (/htdocs/app.exemple.com/.env), a nie w public/. Otwórz go w Menedżerze plików i ustaw co najmniej te linie zgodnie z wartościami Twojej strony:
APP_DEBUG=false
APP_URL=https://app.exemple.com
DB_CONNECTION=mysql
DB_HOST=203.0.113.10
DB_DATABASE=nom_de_la_base
DB_USERNAME=utilisateur_de_la_base
DB_PASSWORD=mot_de_passe_de_la_baseWartości bazy odczytasz w „Baza danych & PHP”, a następnie „MySql & Phpmyadmin”, w wierszu bazy: kolumna „Baza” dla DB_DATABASE, „Użytkownik” dla DB_USERNAME oraz „Ip serwera” dla DB_HOST (adres IP, a nie localhost). Hasło nie jest wyświetlane: zostało wysłane e-mailem podczas tworzenia bazy. Jeśli je utracono, zmień je z menu „⋮”, a następnie „Zmień hasło”.
W pliku .env nowego projektu Laravel 13 linia DB_CONNECTION ma wartość sqlite, a pozostałe linie DB_ zaczynają się od #: usuń te # i wpisz mysql. W przypadku wysyłania e-maili linie MAIL_ są opisane w pomocy Instalacja Laravela na współdzielonym hostingu LWS.
Jeśli linia APP_KEY= jest pusta, wygeneruj klucz aplikacji w Terminalu, nadal w katalogu subdomeny. Nie generuj go ponownie, jeśli jest już wypełniona.
php artisan key:generateNastępnie utwórz tabele bazy danych, a potem wyczyść konfigurację w pamięci podręcznej:
php artisan migrate
php artisan config:cachePo każdej zmianie pliku .env uruchom ponownie php artisan config:cache: gdy konfiguracja jest już w pamięci podręcznej, Laravel nie odczytuje ponownie pliku .env.
Otwórz https://app.exemple.com w przeglądarce: wyświetli się strona główna Twojej aplikacji z kłódką certyfikatu SSL. Przejdź przez kilka stron i sprawdź, czy wyświetlają się układ oraz obrazy.
Sprawdź też, czy pliki projektu nie są czytelne z Internetu: adres https://app.exemple.com/composer.json powinien wyświetlać stronę błędu Twojej aplikacji, a nie zawartość pliku. Jeśli wyświetla się zawartość, plik .htaccess z kroku 3 jest nieobecny albo źle umieszczony: popraw to natychmiast.
Postępuj według punktów po kolei i zatrzymaj się, gdy tylko błąd zniknie.
W sekcji „Baza danych & PHP” kliknij „Logi Apache PHP ModSecurity”: otworzy się narzędzie LWS Log Analyzer. Otwórz zakładkę „Błędy PHP”, wybierz swoją subdomenę z listy domen i okres, a następnie filtr „Fatal”. Kolumny „PLIK PHP”, „LINIA” i „WIADOMOŚĆ” podają przyczynę, a przycisk „✨ Diagnostyka AI” wyjaśnia ją prostym językiem.

Laravel zapisuje własne błędy w pliku storage/logs/laravel.log projektu. Otwórz go w Menedżerze plików i sprawdź ostatnie linie, odpowiadające godzinie błędu. Jeśli o tej godzinie nic nie ma, kieruj się zakładką „Błędy PHP” z poprzedniego punktu.
APP_KEY=): uruchom php artisan key:generate w Terminalu, w katalogu subdomeny.storage i bootstrap/cache nie mają uprawnień do zapisu: Laravel musi móc do nich zapisywać. Sprawdź ich uprawnienia przyciskiem „Uprawnienia” w Menedżerze plików.vendor: uruchom composer install w katalogu subdomeny (krok 5).DB_HOST, DB_DATABASE, DB_USERNAME i DB_PASSWORD z wierszem bazy w „MySql & Phpmyadmin”, a następnie ponownie uruchom php artisan config:cache.W przypadku innych przyczyn błędu 500 zobacz Jak naprawić błąd 500 na swojej stronie z LWS Panel.
Nie. W LWS Panel katalog subdomeny nosi jej pełną nazwę (/htdocs/app.exemple.com/), a ekran „Subdomeny” nie pozwala wybrać innego. Dlatego plik .htaccess z kroku 3 kieruje odwiedzających do public/.
Te polecenia uruchamia się w Terminalu LWS Panel („Oprogramowanie”, a następnie „Terminal”) albo przez SSH z Twojego komputera od pakietu Starter. Jeśli Terminal wyświetla „Aby korzystać z tego narzędzia, należy przejść na wyższy pakiet”, nie jest ono zawarte w Twoim pakiecie. Pakiet Domaine nie ma ani PHP, ani bazy danych: Laravel nie działa na nim.
Konfiguracja jest w pamięci podręcznej: uruchom ponownie php artisan config:cache w katalogu subdomeny albo wyczyść tę pamięć poleceniem php artisan config:clear.
Pobierz zmiany z Terminala, zgodnie z opisem w Jak używać GIT z terminalem Web na moim hostingu współdzielonym LWS?, a następnie ponownie uruchom composer install, php artisan migrate i php artisan config:cache w katalogu subdomeny.
Zadaj je zespołowi LWS i społeczności. Odpowiedź zostanie opublikowana po moderacji.