yii2 Distribuzione in ambiente di hosting condiviso


Esempio

La distribuzione di un modello di progetto avanzato sull'hosting condiviso è un po 'più complicata rispetto a quella di base perché ha due web-root, che i server Web di hosting condiviso non supportano. Dovremo modificare la struttura delle directory in modo che l'URL di frontend sia http: //site.local e l'URL di backend sia http: //site.local/admin .

Sposta gli script di accesso in un singolo webroot

Prima di tutto abbiamo bisogno di una directory webroot. Creare una nuova directory e denominarla in modo che corrisponda al nome del webroot di hosting, ad esempio www o public_html o simile. Quindi crea la seguente struttura dove www è la directory webroot di hosting che hai appena creato:

www
    admin
backend
common
console
environments
frontend
...

www sarà la nostra directory di frontend in modo da spostare il contenuto di frontend / web in esso. Sposta il contenuto del back-end / web in www / admin . In ogni caso sarà necessario regolare i percorsi in index.php e index-test.php .

Regola le sessioni e i cookie

Originariamente il backend e il frontend sono destinati a funzionare in diversi domini. Quando lo spostiamo tutti nello stesso dominio, il frontend e il backend condivideranno gli stessi cookie, creando uno scontro. Per sistemarlo, regola il backend dell'applicazione config backend / config / main.php come segue:

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

Spero che questo aiuti gli utenti di hosting condiviso a implementare un'applicazione avanzata.

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