Php Laravel 4.2环境

Php Laravel 4.2环境,php,laravel,laravel-4,Php,Laravel,Laravel 4,我为我的应用程序设置了两个环境,一个是我机器上的本地开发环境,另一个是服务器上的生产环境。我在bootstrap/start.php中设置它们如下: $env = $app->detectEnvironment(array( 'ariel_dev' => array('Ariels-MacBook-Pro.local'), 'production' => array('my.server.hostname'), )); $env = $app->dete

我为我的应用程序设置了两个环境,一个是我机器上的本地开发环境,另一个是服务器上的生产环境。我在
bootstrap/start.php
中设置它们如下:

$env = $app->detectEnvironment(array(
    'ariel_dev' => array('Ariels-MacBook-Pro.local'),
    'production' => array('my.server.hostname'),
));
$env = $app->detectEnvironment(array(
     'productionserver' => array('my.server.hostname'),
     'ariel_dev' => array('Ariels-MacBook-Pro.local'),
    ));
我还在
app/config/ariel_dev
下设置了一个文件夹,我将要覆盖的配置文件放在那里,比如
database.php

我已经测试过了,效果很好。问题是,当我在家和在办公室(我使用Mac)时,我的主机名会发生变化。因此,应用程序与我的开发环境不匹配,默认为生产环境,连接到服务器的数据库

我做错了什么?难道它不应该抛出一个错误或什么吗?我必须在配置下创建生产文件夹吗


希望有人能帮忙

请记住,生产也被用作一种后备手段——在您配置它时,这是非常危险的

国家:


默认环境始终是生产环境

因此,请尝试以下方法:

$env = $app->detectEnvironment(array(
    'ariel_dev' => array('Ariels-MacBook-Pro.local'),
    'production' => array('my.server.hostname'),
));
$env = $app->detectEnvironment(array(
     'productionserver' => array('my.server.hostname'),
     'ariel_dev' => array('Ariels-MacBook-Pro.local'),
    ));

然后使用productionserver作为文件夹,而不是ariel_dev

默认环境总是production,因此您可以将其从阵列中删除。对于本地开发人员有两个不同主机名的另一个问题,可以将它们添加为数组本地环境密钥的数组值

$env = $app->detectEnvironment(array(
    'ariel_dev' => array('Ariels-MacBook-Pro.local', 'myHomeHostname'),
));

那么,我应该如何配置它呢?