在共享託管環境中部署
將高階專案模板部署到共享託管比基本託管更復雜,因為它有兩個 webroots,共享託管 Web 伺服器不支援。我們需要調整目錄結構,以便前端 URL 為 http://site.local ,後端 URL 為 http://site.local/admin 。
將條目指令碼移動到單個 webroot 中
首先,我們需要一個 webroot 目錄。建立一個新目錄並將其命名為與你的託管 webroot 名稱匹配,例如 www 或 public_html 等。然後建立以下結構,其中 www 是你剛剛建立的託管 webroot 目錄:
www
admin
backend
common
console
environments
frontend
...
www 將是我們的前端目錄,因此將前端/ web 的內容移動到其中。將後端/ web 的內容移動到 www / admin 。在每種情況下,你都需要調整 index.php 和 index-test.php 中的路徑。
調整會話和 cookie
最初的後端和前端旨在執行在不同的域。當我們將它們全部移動到同一個域時,前端和後端將共享相同的 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