对于 Laravel 5.0,我有这样的。我遵循 cjds 指南,但更改了我的规范的代码。它不需要 .env 文件。
$env = $app->detectEnvironment(function() {
if (php_sapi_name() === 'cli') {
if (strpos(getcwd(), 'production') !== false) {
return 'production';
} elseif (strpos(getcwd(), 'staging') !== false) {
return 'staging';
} elseif ((strpos(getcwd(), 'xampp') !== false) || (strpos(getcwd(), 'lampp') !== false)) {
return 'development';
} else {
return 'production';
}
}
$absoluteLink = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if (strpos($absoluteLink, 'production') !== false) {
return 'production';
} elseif (strpos($absoluteLink, 'staging') !== false) {
return 'staging';
} elseif (strpos($absoluteLink, '.dev') !== false || strpos($absoluteLink, 'local') !== false || strpos($absoluteLink, '192.168') !== false) {
return 'development';
} else {
return 'production';
}
});
putenv("APP_ENV=" . $env);