【问题标题】:Laravel 4.2 EnvironmentsLaravel 4.2 环境
【发布时间】:2014-10-15 17:22:00
【问题描述】:

我为我的应用设置了 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),我的主机名会发生变化。所以app和我的开发环境不匹配,默认是生产环境,连接服务器的数据库。

我做错了什么?它不应该引发错误或其他什么吗?我必须在 config 下创建一个生产文件夹吗?

希望有人帮忙!

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

    默认环境始终是生产,因此您可以将其排除在数组之外。对于本地开发人员有两个不同主机名的另一个问题,您可以将它们添加为数组本地环境键的数组值。

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

    【讨论】:

      【解决方案2】:

      请记住,生产也被用作后备——因为您已经配置了它,所以它非常危险。

      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

      【讨论】:

      • 那么,应该如何配置呢?
      猜你喜欢
      • 1970-01-01
      • 2015-03-29
      • 2014-11-18
      • 2015-08-01
      • 1970-01-01
      • 2014-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多