/ / Przekazywanie Laravel Project na serwer WWW - laravel, hosting www

Przesyłanie Laravel Project na serwer sieciowy - laravel, hosting stron internetowych

Próbuję przesłać mój projekt Laravel na mój serwer sieciowy, ale moje dwie ostatnie próby zakończyły się niepowodzeniem. Uważam, że nie przesyłam plików we właściwe miejsce.

To jest struktura mojego serwera WWW -> Struktura WebServer

Czy mam rację, mówiąc, że muszę załadować WSZYSTKIE moje pliki laravel do public_html?

Oto mój katalog projektu Laravel:

Katalog projektów Laravel

EDYCJA: Dodałem wszystkie pliki do folderu głównego, a publiczne do public_html, jednak żadna z moich tras nie wydaje się działać. (Działają doskonale na localhost). Wszystko rzuca 404

Odpowiedzi:

37 dla odpowiedzi № 1

Nie, ale masz kilka opcji:

Najłatwiej jest przesłać wszystkie posiadane plikido tego katalogu, w którym się znajdujesz (tzn. do katalogu domowego cPanel) i umieścisz zawartość publiczną w public_html. W ten sposób twoja struktura katalogów będzie wyglądać mniej więcej tak (nieco niechlujnie, ale działa):

/
.composer/
.cpanel/
...
app/                 <- your laravel app directory
etc/
bootstrap/           <- your laravel bootstrap directory
mail/
public_html/         <- your laravel public directory
vendor/
artisan              <- your project"s root files

Może być również konieczna edycja bootstrap/paths.php wskazać właściwy katalog publiczny.

Inne rozwiązanie, jeśli nie lubisz mieć wszystkiegote pliki w katalogu "root" będą umieszczane w ich własnym katalogu (może "laravel"), który nadal znajduje się w katalogu głównym, a następnie edytuje ścieżki, aby działały poprawnie. Nadal będziesz musiał umieścić zawartość public w public_htmli tym razem edytuj swoje public_html/index.php poprawnie uruchomić aplikację. Twoja struktura folderów będzie dużo bardziej uporządkowana w ten sposób (chociaż mogą występować pewne bóle głowy ze ścieżkami, które powodują zakłócenia w strukturze struktury programu):

/
.composer/
.cpanel/
...
etc/
laravel/      <- a directory containing all your project files except public
app/
bootstrap/
vendor/
artisan
mail/
public_html/  <- your laravel public directory

6 dla odpowiedzi nr 2

Uważam, że twoje pliki / foldery Laravel nie powinny być umieszczane w katalogu głównym.

na przykład Jeśli twoja domena jest wskazana public_html katalog, wtedy cała zawartość powinna zostać umieszczona w tym katalogu. W jaki sposób ? pozwol sobie powiedziec

  1. Skopiuj wszystkie pliki i foldery (w tym folder publiczny) do publicznego html
  2. Skopiuj całą zawartość folderu publicznego i wklej go do katalogu głównego dokumentu (np. Public_html)
  3. Usuń folder publiczny
  4. Otwórz bootstrap / paths.php, a następnie zmień "public" => __DIR__."/../public", w "public" => __DIR__."/..",

  5. i wreszcie w index.php,

    Zmiana

require __DIR__."/../bootstrap/autoload.php";

$app = require_once __DIR__."/../bootstrap/start.php";

w

require __DIR__."/bootstrap/autoload.php";

$app = require_once __DIR__."/bootstrap/start.php";

Twoja aplikacja Laravel powinna teraz działać.


5 dla odpowiedzi nr 3

Jeśli próbujesz hostować swoją aplikację Laravel na współdzielonym hostingu, może ci to pomóc.

Hosting Laravel na współdzielonym hostingu # 1

Hosting Laravel na współdzielonym hostingu # 2

Jeśli chcesz PHP 5.4 dodaj tę linię do swojej .htaccess plik lub zadzwoń do swojego dostawcy hostingu.

AddType application/x-httpd-php54 .php


1 dla odpowiedzi nr 4

Wszystkie pliki Laravel powinny znajdować się w jednym miejscu. Laravel ujawnia to publiczny folder na serwer. Folder ten reprezentuje jakiś front-controller do całej aplikacji. W zależności od konfiguracji serwera musisz wskazać ścieżkę serwera do tego folderu. Jak widzę, jest www strona na twoim zdjęciu. www jest domyślnym katalogiem głównym na maszynach Unix / Linux. Najlepiej zajrzeć do wnętrza konfiguracji serwera i wyszukać lokalizację katalogu głównego. Jak widać, Laravel ma już plik o nazwie .htaccess, z pewną gotową konfiguracją Apache.


1 dla odpowiedzi nr 5

Miał ten problem i okazało się, że najłatwiej jest skierować swoją domenę do folderu publicznego i pozostawić wszystko inne tak, jak jest.

PROSZĘ ZAPEWNIĆ KORZYSTANIE Z PRAWEJ WERSJI PHP. Oszczędź sobie trochę stresu :)


1 dla odpowiedzi № 6

W Laravel 5.x nie ma paths.php

więc powinieneś edytować public/index.php i zmień te linie, aby dodać kufel do twojego bootstrap informator:

require __DIR__.’/../bootstrap/autoload.php’;

$app = require_once __DIR__.’/../bootstrap/app.php’;

aby uzyskać więcej informacji, możesz przeczytać to artykuł.