Sök…


Distribution i delad värdmiljö

Att distribuera en avancerad projektmall till delad värd är lite svårare än en grundläggande eftersom den har två webbroots, som delade webbhotell inte stöder. Vi måste justera katalogstrukturen så att frontend-URL kommer att vara http: //site.local och backend URL kommer att vara http: //site.local/admin .

Flytta inmatningsskript till enstaka webroot

Först av allt behöver vi en webroot-katalog. Skapa en ny katalog och namnge den så att den matchar ditt webbhotellnamn, t.ex. www eller public_html eller liknande. Skapa sedan följande struktur där www är webbhotellkatalogen du just skapade:

www
    admin
backend
common
console
environments
frontend
...

www kommer att vara vår frontend-katalog så flytta innehållet i frontend / webben in i den. Flytta innehållet i backend / webben till www / admin . I båda fallen måste du justera banorna i index.php och index-test.php .

Justera sessioner och kakor

Ursprungligen är backend och frontend avsedda att köras på olika domäner. När vi flyttar allt till samma domän delar frontend och backend samma cookies och skapar en kollision. För att fixa det, justera backend-applikationen config-backend / config / main.php enligt följande:

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

Hoppas att detta hjälper de delade värdanvändarna att distribuera avancerad applikation.

poäng: https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md

Dela uppladdade filer mellan frontend och backend med symlänkar

Så du har laddat upp dina filer till en mapp som säger /backend/web/uploads/ och du vill att dessa uppladdningar ska vara synliga på frontend också. Det enklaste alternativet är att skapa en symlink i frontend som länkar till backend:

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

I dina vyer kan du använda relativa länkar till filerna nu:

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

Se till att din webbserver tillåter att symlänkar följs.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow