【问题标题】:Setting up production/development environment in Laravel在 Laravel 中设置生产/开发环境
【发布时间】:2015-04-04 11:00:10
【问题描述】:

我在 GitHub 上与我的一位同事合作,这是 Laravel 上的一个项目。现在我做了一些提交并将 Git 链接发送给这个人,他看起来很漂亮,并且有以下要说的:

将环境设置为开发后,迁移工作正常 而不是生产。我会经常做的事,你当然不会 必须,将默认环境设置为开发并将其设置为 只有在虚拟主机文件中设置了变量或 在 .htaccess 中。

现在我了解了为开发设置默认环境的部分,但让我完全摆脱困境的是虚拟主机这个词。

我阅读了 Laravel 上关于生产环境的文档,但是这个人所说的让我有点困惑。有人可以澄清一下吗?

同一个人还给我发了以下功能:

$env = $app->detectEnvironment(function() {
        return getenv('APP_ENV') ?: 'local';
});

我是 Laravel 的新手,非常感谢任何帮助。

【问题讨论】:

    标签: php git laravel-4


    【解决方案1】:

    环境

    当你的朋友给你看代码时:

    $env = $app->detectEnvironment(array(
        'local' => array('homestead'),
    )); 
    

    它指的是允许您将主机名 (homestead) 绑定到特定环境名称 (local) 的框架部分。

    您可以在bootstrap/start.php 的项目中找到包含此代码的文件。或者看看here on GitHub

    当您为特定主机名指定环境名称时,框架将加载不同的配置设置。如果您查看文件夹:

    app/config/
    

    您会注意到有一个名为local 的文件夹。该文件夹包含一些与app/config/ 文件夹根目录中的配置文件相匹配的配置文件。当您在具有您在 start.php 文件中指定的主机名的计算机上启动框架时,它会使用您在应用常规配置版本之前在文件的 local/ 版本中提供的任何设置。

    这意味着如果您在本地环境中使用不同的数据库凭据,您可以将它们放在 config/local/database.php 配置中,并且它们只会在您本地环境中启动框架时使用。

    你的local目录下的配置项是级联的,所以你只需要添加与生产环境不同的配置即可。

    您可以通过添加新的环境名称和应该运行它的计算机的主机名来设置不同的环境:

    $env = $app->detectEnvironment(array(
        'local'   => array('homestead'),
        'testing' => array('testserver')
    )); 
    

    现在我可以创建一个名为 app/config/testing 的文件夹,添加一个新的 database.php 配置文件并指定我的测试数据库的凭据。当从测试服务器启动框架时,将使用来自testing 配置文件的任何详细信息,然后剩余的配置详细信息将来自默认(生产)环境配置文件。

    此外,Laravel 4.2 假定 app/config 作为您的生产环境,因此当您在生产服务器上启动该框架时,它将使用位于 app/config 的配置文件中的所有凭据

    您可以在how Laravel handles configurations here 上阅读更多内容。

    虚拟机(宅基地)

    您朋友所说的虚拟机homestead,是 Laravel 的官方虚拟开发环境。它基本上是一个专门为使用 laravel 进行调整的虚拟机(尽管你也可以将它用于非 Laravel 项目)。 Laracasts 有一个fee video talking about homestead 可以帮助您填写。

    【讨论】:

    • 非常感谢您的详尽回答,我会仔细阅读并接受它。
    • 没问题 :) 希望对你有帮助
    • 我应该注意,这个答案是专门针对 laravel 4 的。环境特定的配置在 L5 中发生了变化。
    猜你喜欢
    • 2012-04-05
    • 2019-07-13
    • 2011-08-06
    • 1970-01-01
    • 2018-06-04
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    相关资源
    最近更新 更多