【问题标题】:Stop artisan from asking "Do you really wish to run this command?"阻止工匠问“你真的想运行这个命令吗?”
【发布时间】:2016-01-14 15:40:18
【问题描述】:

我是使用 Laravel 4 的新手,在我的本地主机上运行它。我想知道如何让工匠在每次执行迁移命令时跳过询问Do you really wish to run this command? 的问题?我只想在不输入y 的情况下立即执行命令。而且也没有在迁移命令的末尾添加--force

我知道提示在生产中非常重要,但我觉得它有点烦人,尤其是在你学习教程的时候。我只是想把它关掉,让生活更轻松。

任何帮助将不胜感激。

【问题讨论】:

    标签: laravel laravel-4 command-line laravel-artisan artisan-migrate


    【解决方案1】:

    如果您将环境设置为 local,您将不会收到警告问题,因为这仅在 Laravel 检测到您处于 生产 中时才会显示,其中正在运行迁移误会可能是危险的。您可以在 bootstrap/start.php 文件中简单地添加以下内容:

    $env = $app->detectEnvironment(array(
        // The array value should be your hostname
        'local' => array('your-machine-name'),
    ));
    

    以上内容将允许 Laravel 在检测到您的计算机主机名与您指定的主机名匹配时将环境设置为 本地,从而避免显示该消息。


    有关配置环境的更多信息以及从中获得的优势,请阅读Laravel Environment Configuration Docs

    【讨论】:

    • 成功了。谢谢。我应该提一下,我使用了'local' => array(gethostname()),,因为将参数分配给locallocalhost 仍然表明该应用程序正在生产中。
    • @Jed 但请注意,通过这样做,即使应用程序投入生产,它仍将位于本地环境中。更好的选择是 $env = $app->detectEnvironment(function() { return getenv('APP_ENV') ? : 'production'; }); 并在您的 VHOST 文件中设置 APP_ENV
    • @blackpla9ue 是对的,通过这样做,环境将始终是本地,无论您在哪台机器上运行应用程序。在您的终端 php -r "echo gethostname();" 中运行此命令以获取主机名字符串并使用它来设置环境。
    • 另外,如果你说你是 Laravel 新手,你真的应该学习 Laravel 5.1,因为它是最新版本。
    • @blackpla9ue,感谢您的建议!谢谢。对我来说条件如何工作没有意义。而且我正在使用 WAMP 我不确定如何在我的虚拟主机文件中设置 APP_ENV 。您能否提供更多有关它的详细信息或任何有用的链接。
    【解决方案2】:

    为 Bogdan 的答案和 cmets 添加更多内容。

    如果你不熟悉 Laravel 中的环境概念,它可以为你的应用程序运行的环境指定不同的配置。例如,你在本地环境中的数据库凭据与实时服务器(生产环境)。

    因此,您不应使用 'local' => array(gethostname()) 的一个原因是,无论您在哪里运行(您的本地机器、测试环境或生产环境),这都会使您的环境成为 local

    这是确定环境的首选方法

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

    因此,除非您在 VHOST 文件中设置了环境变量,否则它将默认为生产环境。

    但由于您不必指定环境变量,我建议您坚持使用 Bogdan 的解决方案。

    【讨论】:

      猜你喜欢
      • 2020-01-21
      • 1970-01-01
      • 2014-08-30
      • 2023-04-05
      • 2016-04-10
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      • 2017-10-03
      相关资源
      最近更新 更多