Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Laravel][hosting] public_html vs. public
Forum PHP.pl > Forum > Przedszkole
kamil_lk
Cześć,

Napisałem aplikację w laravel 5.3 iprzyszedł czas aby wrzucić ją w świat.
Mam testowy hosting w https://www.mydevil.net/.
Mój problem polega na tym, że nie potrafię poradzić sobie z osadzeniem frameworka na serwerze.
Jak wiadomo laravel posiada swój katalog publiczny 'public', który odpala całą aplikację.
Na serwerze natomiast mam katalog public_html.
Próbowałem ten sposób KLIK, lecz to nie działa.
Może ktoś z was wrzucał online jakiś projekt w laraverze i napotkał się na taką sytuację.
Tutaj sypie mi błędami: kamilgluchowski

Pozdrawiam,
Kamil
Pyton_000
Zmień sobie nazwę swojego 'public' na public_html, wrzuć projekt na serwer (tak aby public_html nadpisał się tym co masz w projekcie).
Nast. dodaj do index.php pod $app = ...

Kod
// set the public path to this directory
$app->bind('path.public', function() {
    return __DIR__;
});
kamil_lk
Nic nie dało.
Struktura tak ma wyglądać?


Pyton_000
Musisz zmienić open_basedir dla php
http://stackoverflow.com/questions/1846882...e-allowed-paths
Tomplus
Jeszcze jest jedna alternatywa, czasem hosting oferuje coś takiego czasem nie.


Zmień domain_folder z public_html/ na public_html/public/
kamil_lk
W ustawieniach mam możliwość zmiany 'Katalogi Open Basedir' i zamieniłem to:
Kod
/usr/home/kamilgluchowski/domains/kamilgluchowski.usermd.net/public_html:/tmp:/usr/local/share/pear:/dev

na to:
Kod
/usr/home/kamilgluchowski/domains/kamilgluchowski.usermd.net/tmp:/usr/local/share/pear:/dev


Niby teraz działa, ale pytanie do Ciebie Pyton_000 czy dobrze to zrobiłem. smile.gif
Pyton_000
Pomieszałeś trochę smile.gif

Powinno być raczej:
Kod
/usr/home/kamilgluchowski/domains/kamilgluchowski.usermd.net:/tmp:/usr/local/share/pear:/dev
r4xz
Jak dla mnie to trochę śmietnik sobie zrobiłeś na ftp, polecam zawartość pliku public wrzucić do public_html (lub public_html/nazwa_subdomeny), a wszystkie pozostałe pliki laravela do jakiegoś innego folderu obok public_html:
Kod
- laravel_apps
  - my_first_app
    - app
    - bootstrap
    - config
    - ...
- public_html
  - index.php
  - ...


jedyne co teraz musisz zmienić to w pliku index.php w katalogu public_html zmienić ścieżki tak, aby wskazywały na odpowiednie pliki, chodzi mi o te 2 linijki:
  1. require __DIR__.'/../bootstrap/autoload.php';
  2. $app = require_once __DIR__.'/../bootstrap/app.php';


w Twoim przypadku będzie to teraz:
  1. require __DIR__.'/../laravel_apps/my_first_app/bootstrap/autoload.php';
  2. $app = require_once __DIR__.'/../laravel_apps/my_first_app/bootstrap/app.php';
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.