我們的部落格應用程式即將完成。在部署之前,我們想要做一些調整。
我們變更為使用文章列表頁面作為首頁。我們修改應用程式組態如下,
return array(
......
'defaultController'=>'post',
......
);
提示: 因為
PostController
已經宣告index
為其預設動作,當我們存取應用程式的首頁時,我們會看到由文章控制器的index
動作產生的結果。
因為 ActiveRecord 依賴關於資料表的 metadata 來決定欄位資訊,所以需要時間來讀取 metadata 並分析它。這在開發階段可能不是問題,但對於在生產模式下執行的應用程式來說,如果資料庫 schema 沒有變更,這完全是浪費時間。因此,我們應該透過修改應用程式組態來啟用 schema 快取,如下所示,
return array(
......
'components'=>array(
......
'cache'=>array(
'class'=>'CDbCache',
),
'db'=>array(
'class'=>'system.db.CDbConnection',
'connectionString'=>'sqlite:/wwwroot/blog/protected/data/blog.db',
'schemaCachingDuration'=>3600,
),
),
);
在上面,我們首先加入一個 cache
組件,它使用預設的 SQLite 資料庫作為快取儲存空間。如果我們的伺服器配備了其他快取擴展,例如 APC,我們也可以變更為使用它們。我們也修改了 db
組件,將其 schemaCachingDuration 屬性設定為 3600,這表示已解析的資料庫 schema 資料可以在快取中保持有效 3600 秒。
我們修改進入點腳本檔案 /wwwroot/blog/index.php
,移除定義常數 YII_DEBUG
的行。這個常數在開發階段很有用,因為它允許 Yii 在發生錯誤時顯示更多偵錯資訊。但是,當應用程式在生產模式下執行時,顯示偵錯資訊不是一個好主意,因為它可能包含敏感資訊,例如腳本檔案的位置以及檔案中的內容等等。
最終部署過程主要涉及將目錄 /wwwroot/blog
複製到目標目錄。以下檢查清單顯示了每個需要的步驟
/wwwroot/blog
複製到目標位置;index.php
,將 $yii
變數指向新的 Yii 啟動引導檔案;protected/yiic.php
,將 $yiic
變數設定為新的 Yii yiic.php
檔案;assets
和 protected/runtime
的權限,使其可由 Web 伺服器程序寫入。發現錯字或您認為此頁面需要改進嗎?
在 github 上編輯 !
註冊 或 登入 以發表評論。