Publikacja aplikacji Laravel w subdomenie z użyciem LWS Panel

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.

Opublikuj swoją aplikację w subdomenie

  1. Utwórz subdomenę

    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?

    Publikacja aplikacji Laravel w subdomenie z użyciem LWS Panel

  2. Prześlij projekt Laravel do katalogu subdomeny

    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?

  3. Skieruj odwiedzających do folderu public/

    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.

  4. Wybierz wersję PHP dla subdomeny

    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”.

    Publikacja aplikacji Laravel w subdomenie z użyciem LWS Panel

    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?

  5. Zainstaluj zależności za pomocą Composera

    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:

    ⌨ Na serwerze
    cd app.exemple.com
    php -v
    composer install

    Wersja 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.

  6. Skonfiguruj plik .env

    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:

    📄 /htdocs/app.exemple.com/.env
    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_base

    Wartoś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.

    ⌨ Na serwerze
    php artisan key:generate

    Następnie utwórz tabele bazy danych, a potem wyczyść konfigurację w pamięci podręcznej:

    ⌨ Na serwerze
    php artisan migrate
    php artisan config:cache

    Po 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.

Sprawdź, czy wszystko działa

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.

Moja aplikacja wyświetla błąd 500

Postępuj według punktów po kolei i zatrzymaj się, gdy tylko błąd zniknie.

Odczytaj dokładny błąd w dziennikach LWS Panel

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.

Publikacja aplikacji Laravel w subdomenie z użyciem LWS Panel

Odczytaj dziennik Laravela

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.

Napraw najczęstsze przyczyny

  • Brak klucza aplikacji (pusta linia APP_KEY=): uruchom php artisan key:generate w Terminalu, w katalogu subdomeny.
  • Foldery 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.
  • Brak folderu vendor: uruchom composer install w katalogu subdomeny (krok 5).
  • Wersja PHP jest zbyt stara dla Twojej wersji Laravela: zmień ją (krok 4).
  • Błąd pojawił się zaraz po dodaniu lub modyfikacji pliku .htaccess: przywróć zachowaną kopię, a następnie porównaj swój plik z tym z pomocy Instalacja Laravela na współdzielonym hostingu LWS.
  • Odmowa połączenia z bazą: porównaj 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.

Często zadawane pytania

Czy mogę skierować subdomenę bezpośrednio do folderu public/?

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/.

Czy mój pakiet pozwala używać Composera i php artisan?

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.

Moje zmiany w pliku .env nie są uwzględniane

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.

Jak zaktualizować moją aplikację z Git?

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.

Powiązane artykuły

Przydatne linki

help.lws.net/a/7993
Czy ten artykuł był pomocny?

Tak

Nie

Przeczytano 2 razy

Dziękujemy! Zadawaj pytania dotyczące naszej dokumentacji, jeśli potrzebujesz więcej informacji, i pomóż nam ją ulepszyć.

Podobne artykuły

Masz pytanie dotyczące tego artykułu?

Zadaj je zespołowi LWS i społeczności. Odpowiedź zostanie opublikowana po moderacji.

Zadaj pytanie zespołowi LWS i jego społeczności

RODO: Administrator: LWS-Ligne Web Services. Cel: moderacja i publiczna publikacja pytania, ewentualne powiadomienie o odpowiedzi. Podstawa prawna: zgoda (art. 6 ust. 1 lit. a RODO). Przechowywanie adresów e-mail: 90 dni po powiadomieniu, maksymalnie 12 miesięcy bez odpowiedzi. Aby skorzystać ze swoich praw, zobacz sekcję RODO naszego regulaminu.