1. 程式人生 > >laravel 多環境部署

laravel 多環境部署

轉載地址   http://xuwenzhi.com/2016/07/31/laravel%E4%B9%8B%E5%BC%80%E5%8F%91%E3%80%81%E6%B5%8B%E8%AF%95%E5%92%8C%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%8C%BA%E5%88%86/

不同環境載入自己的.env.檔案
這裡面的.env.
檔案延伸開來就是.env.dev、.env.test和.env.prod,比如開發環境會自動載入.env.dev,依此類推,那麼如果是這樣的話,不同環境的機器又怎麼知道載入哪個檔案呢?其實這裡面還是耍了點小聰明,別忘了我們有php.ini

1.在php.ini中追加一行配置
當然開發、測試和生產環境中env所對應的值也需要不一樣

//開發環境
env=dev
//測試環境
env=staging
//生產環境
env=production

2.載入不同的配置檔案
在bootstrap/app.php檔案中新增如下判斷,在這裡將通過獲取php.ini中的env的值,然後從而載入不同的配置檔案。

//...省略
$env = get_cfg_var('env');
$env = !empty($env) ? $env : 'production';
if(!defined('APP_MODE')){
    define('APP_MODE', $env);
}
$app->loadEnvironmentFrom('.env.'.$env);

return $app;

3.新建.env.dev、.env.staging和.env.production