Поиск…


Развертывание в среде совместного размещения

Развертывание расширенного шаблона проекта на общий хостинг немного сложнее, чем базовый, поскольку он имеет два веб-ресурса, которые не поддерживают веб-серверы с общим хостингом. Нам нужно будет отрегулировать структуру каталогов, поэтому URL-адрес интерфейса будет http: //site.local, а URL-адрес бэкэнд будет http: //site.local/admin .

Перенос сценариев ввода в один веб-корень

Прежде всего нам нужен каталог webroot. Создайте новый каталог и назовите его в соответствии с вашим именем веб-сайта хостинга, например, www или public_html или тому подобное. Затем создайте следующую структуру, где www - это созданный вами веб-сайт хостинга webroot:

www
    admin
backend
common
console
environments
frontend
...

www будет нашим интерфейсом, поэтому переместите содержимое интерфейса / веб-страницы в него. Переместите содержимое backend / web в www / admin . В каждом случае вам нужно будет настроить пути в index.php и index-test.php .

Первоначально бэкэнд и интерфейсы предназначены для работы в разных доменах. Когда мы переместим все это в один домен, интерфейс и бэкэнд будут использовать одни и те же файлы cookie, создавая столкновение. Чтобы исправить это, настройте backend / config / main.php бэкэнд-приложение следующим образом:

'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',
        ],
    ],
],

Надеемся, что это поможет пользователям с общим хостингом развернуть расширенное приложение.

кредиты: https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md

Совместное использование загруженных файлов между интерфейсом и бэкэнд с помощью символических ссылок

Таким образом, вы загрузили свои файлы в папку say /backend/web/uploads/ и вы хотите, чтобы эти загрузки отображались также на интерфейсе. Самый простой вариант - создать символическую ссылку в интерфейсе, которая ссылается на бэкэнд:

ln -s /path/to/backend/web/uploads/ /path/to/frontend/web/uploads

В ваших представлениях теперь можно использовать относительные ссылки на файлы:

<img src='/uploads/<?= $model->image?>' alt='My Image goes here'>
<a href='/uploads/<?= $model->filename?>' target='_blank'>Download File</a>

Убедитесь, что ваш веб-сервер позволяет использовать символические ссылки.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow