2015/06/03

[Laravel] Laravel 4.1 偵測環境設定

Laravel 4.1 專案中都要這麼設定~ Laravel 5.1 都要釋出了還不能升版....殘念~

怎麼客戶的主機版本都還停在 PHP 5.3, 5.4, 只好自己練功儲備...跳過 5, 直煉 5.1

提外話, 回到正題...預設環境設定要填上主機名稱來判斷環境

$env = $app->detectEnvironment(array(
    'local' => array('local-machine-name'), 
    'staging' => array('staging-machine-name') 
));

其實很不喜歡把 hostname 放上去, 寫死又不親民

找到一個簡單的設定方法, 我覺得還不錯, 記錄一下

用變數來做判斷最符合開發模式

$env = $app->detectEnvironment(function()
{ 
    // LARAVEL_ENV 不設定, 預設值為 local
    return getenv('LARAVEL_ENV') ?: 'local'; 
});

而這個 LARAVEL_ENV 的環境變數, 需要在 .htaccess 裡設定

# 設定為本地開發環境
SetEnv LARAVEL_ENV local

參考: Setting Up Multiple Environments in Laravel 4.1

沒有留言: