1. 程式人生 > >新浪雲sae部署yii2.0.6專案

新浪雲sae部署yii2.0.6專案

一、準備本地專案

參考:https://github.com/postor/yii2-for-sae
如果無法通過composer安裝:
1.請下載SaeAssetManager.php放到basic\vendor\yiisoft\yii2\web資料夾下,修改config/web.php檔案的components選項(程式碼如下)。
2.在sae後臺開啟storage,並建立一個domain叫做assets,如果使用別的名字需要在配置中使用assetDomain來配置.(如果使用別的名字可能有點小問題,gridview右邊的操作按鈕顯示不正常)

// config/web.php
// change all file operations to db or seastorage or kvdb
//修改所有檔案操作到資料庫,或者saestorage或者kvdb
...
    'components' => [
        //cache to db快取到db
        'cache' => [
            'class' => 'yii\caching\DbCache',
        ],
        //sea mysql配置sae的mysql
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host='.SAE_MYSQL_HOST_M.';port='.SAE_MYSQL_PORT.';dbname='.SAE_MYSQL_DB,
            'username' => SAE_MYSQL_USER,
            'password' => SAE_MYSQL_PASS,
            'charset' => 'utf8',
            'tablePrefix' => 'scd_',
        ],
        //use seastorage for assets使用sae釋出資源
        'assetManager' =>[
            'class'=>'yii\web\SaeAssetManager', //這裡和原作者不同,因為我是手動下載的SaeAssetManager.php
            'assetDomain'=>'assets',
            'converter' => [
                'class' => 'yii\web\AssetConverter',
            ],
        ],
        //log to db日誌也修改到db
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\DbTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
    ]

二、雲端環境

1 首先在SAE上建立一個php5.6專案, (yii2所需環境>=php5.4),在MySQL上建立你所需要的資料庫表。
2 在sae上建立一個svn程式碼倉庫,先把程式碼下到自己電腦一個空目錄下,然後把你的專案copy到這個目錄下,最後通過svn上傳到程式碼倉庫(>_<sae還是有點慢啊)
3 訪問你的SAE專案即可~(yii2postor是你的sae專案名字)
http://yii2postor.sinaapp.com/web/index.php