yii2
Zaawansowany szablon projektu
Szukaj…
Wdrożenie we współdzielonym środowisku hostingowym
Wdrażanie zaawansowanego szablonu projektu na współdzielonym hostingu jest nieco trudniejsze niż podstawowe, ponieważ ma dwa webrooty, które nie są obsługiwane przez serwery współdzielone. Będziemy musieli dostosować strukturę katalogu, aby adres URL interfejsu był następujący : http: //site.local, a adres URL interfejsu: http: //site.local/admin .
Przenieś skrypty wejściowe do jednego webroota
Przede wszystkim potrzebujemy katalogu webroot. Utwórz nowy katalog i nazwij go, aby pasował do nazwy hosta webroot, np. Www lub public_html lub podobny. Następnie utwórz następującą strukturę, w której www jest właśnie utworzonym katalogiem webroot hostingu:
www
admin
backend
common
console
environments
frontend
...
www będzie naszym katalogiem frontend, więc przenieś do niego zawartość frontend / web . Przenieś zawartość backend / web na www / admin . W każdym przypadku konieczne będzie dostosowanie ścieżek w plikach index.php i index-test.php .
Dostosuj sesje i pliki cookie
Początkowo backend i frontend mają działać w różnych domenach. Gdy przeniesiemy to wszystko do tej samej domeny, interfejs i backend będą dzielić te same pliki cookie, tworząc kolizję. Aby to naprawić, dostosuj konfigurację aplikacji backend / backend / config / main.php w następujący sposób:
'components' => [
'request' => [
'csrfParam' => '_csrf-backend',
'csrfCookie' => [
'httpOnly' => true,
'path' => '/admin',
],
],
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'identityCookie' => [
'name' => '_identity-backend',
'path' => '/admin',
'httpOnly' => true,
],
],
'session' => [
// this is the name of the session cookie used for login on the backend
'name' => 'advanced-backend',
'cookieParams' => [
'path' => '/admin',
],
],
],
Mam nadzieję, że pomoże to współdzielonym użytkownikom hostingu we wdrożeniu zaawansowanych aplikacji.
kredyty: https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md
Udostępnianie przesłanych plików między frontendem a backendem za pomocą dowiązań symbolicznych
Przesłałeś więc swoje pliki do folderu say /backend/web/uploads/
i chcesz, aby te pliki były widoczne również na interfejsie użytkownika. Najłatwiejszą opcją jest utworzenie dowiązania symbolicznego w interfejsie, które prowadzi do backendu:
ln -s /path/to/backend/web/uploads/ /path/to/frontend/web/uploads
W swoich widokach możesz teraz używać względnych linków do plików:
<img src='/uploads/<?= $model->image?>' alt='My Image goes here'>
<a href='/uploads/<?= $model->filename?>' target='_blank'>Download File</a>
Upewnij się, że twój serwer WWW pozwala na śledzenie dowiązań symbolicznych.