Laravel 4.2环境

时间:2014-08-21 22:45:58

标签: php laravel laravel-4

我为我的应用设置了2个环境,在我的机器上设置了本地开发,在服务器上设置了生产环境。我将它们设置为bootstrap/start.php,如下所示:

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

我还在app/config/ariel_dev下设置了一个文件夹,我在其中放置了我要覆盖的配置文件,例如database.php

我对它们进行了测试,它们的效果非常好。问题是,当我在家时以及我在办公室时(我使用的是Mac),我的主机名会发生变化。因此,该应用程序与我的开发环境不匹配,默认为生产环境,连接到服务器的数据库。

我做错了什么?它不会抛出错误或其他东西吗?我是否在config下创建了一个生产文件夹?

希望有人帮忙!

2 个答案:

答案 0 :(得分:1)

默认环境始终为生产,因此您可以将其从数组中删除。对于为本地开发人员提供两个不同主机名的其他问题,可以将它们添加为阵列本地环境密钥的数组值。

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

答案 1 :(得分:0)

请记住,生产也被用作后备 - 在您配置它时非常危险。

http://laravel.com/docs/configuration#environment-configuration州:

默认环境始终是生产

所以尝试这样的事情:

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

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