Created
January 18, 2014 11:43
-
-
Save stefandroog/8489315 to your computer and use it in GitHub Desktop.
Environment detection for multiple instances like (staging / production) on the same server (Laravel 4.1) Blog post: http://www.volkomenjuist.nl/blog/2014/01/17/laravel-4-and-environment-detection/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
return 'staging'; //or 'production' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
|-------------------------------------------------------------------------- | |
| Create The Application | |
|-------------------------------------------------------------------------- | |
| | |
| The first thing we will do is create a new Laravel application instance | |
| which serves as the "glue" for all the components of Laravel, and is | |
| the IoC container for the system binding all of the various parts. | |
| | |
*/ | |
$app = new Illuminate\Foundation\Application; | |
/* | |
|-------------------------------------------------------------------------- | |
| Bind Paths | |
|-------------------------------------------------------------------------- | |
| | |
| Here we are binding the paths configured in paths.php to the app. You | |
| should not be changing these here. If you need to change these you | |
| may do so within the paths.php file and they will be bound here. | |
| | |
*/ | |
$app->bindInstallPaths(require __DIR__.'/paths.php'); | |
/* | |
|-------------------------------------------------------------------------- | |
| Detect The Application Environment | |
|-------------------------------------------------------------------------- | |
| | |
| Laravel takes a dead simple approach to your application environments | |
| so you can just specify a machine name or HTTP host that matches a | |
| given environment, then we will automatically detect it for you. | |
| | |
*/ | |
$env = $app->detectEnvironment(function () use ($app) { | |
$environment = include $app['path.base'].'/app/storage/settings/environment.php'; | |
return $environment ? $environment : 'local'; | |
}); | |
/* | |
|-------------------------------------------------------------------------- | |
| Load The Application | |
|-------------------------------------------------------------------------- | |
| | |
| Here we will load the Illuminate application. We'll keep this is in a | |
| separate location so we can isolate the creation of an application | |
| from the actual running of the application with a given request. | |
| | |
*/ | |
$framework = $app['path.base'].'/vendor/laravel/framework/src'; | |
require $framework.'/Illuminate/Foundation/start.php'; | |
/* | |
|-------------------------------------------------------------------------- | |
| Return The Application | |
|-------------------------------------------------------------------------- | |
| | |
| This script returns the application instance. The instance is given to | |
| the calling script so we can separate the building of the instances | |
| from the actual running of the application and sending responses. | |
| | |
*/ | |
return $app; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment