0

I have created app/config/mysite.dev and added app.php and database.php to this dir. I then changed the values for local, staging and production in bootstrap/start.php to reference mysite.dev. However, instead of checking app/config/mysite.dev/database.php for the settings, it is instead reading app/config/database.php.

I feel that I have missed some critical step here.

Any ideas what?

Here is my bootstrap/start.php file:

<?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;

/*
|--------------------------------------------------------------------------
| 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(array(

    'local' => array('mysite.dev'), // Change this to your local machine hostname.
    'staging' => array('mysite.dev'),
    'production' => array('mysite.dev'),

));

/*
|--------------------------------------------------------------------------
| 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');

/*
|--------------------------------------------------------------------------
| 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;
1
  • Post your bootstrap/start.php file and your computers hostname. Finding host name in Windows: seas.upenn.edu/cets/answers/find-hostname.html - for any Unix OS just type hostname in Terminal/Shell Commented Apr 19, 2014 at 21:31

1 Answer 1

0

If you're sure your hostname is 'mysite.dev' and you have put your database config in app/config/mysite.dev/database.php then you need the following $app->detectEnvironment

$env = $app->detectEnvironment(array(

    'mysite.dev' => array('mysite.dev')

));

I advise renaming app/config/mysite.dev/database.php to app/config/dev/database.php and then having the following:

$env = $app->detectEnvironment(array(

    'dev' => array('mysite.dev')

));

As said in the comment: The key in the array is corresponding to the folder name while the value is an array containing your computer's hostname.

Sign up to request clarification or add additional context in comments.

2 Comments

The key in the array is corresponding to the folder name while the value is an array containing your computer's hostname.
@Hoshts Indeed, I'll copy that into the answer to make it clearer. Thanks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.