laravel 多環境部署
阿新 • • 發佈:2019-02-05
轉載地址 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