Laravel 4.2说我的应用程序正在生产中。如何关闭此功能?

2022-08-30 16:05:11

我有一个全新安装的Laravel。跑步时,我收到一条消息说php artisan migrate:refreshApplication In Production! Do you really wish to run this command?'

我知道这是4.2中的更新,但是我不知道如何关闭它。

我在源代码中找到了它的来源,如果测试通过,则运行:Illuminate\Console\ConfirmableTraitif ($this->getLaravel()->environment() == 'production')

我不确定为什么它认为我在生产中。我从不设置任何环境。这是我目前仍在使用的默认环境检测。

$env = $app->detectEnvironment(array(

    'local' => array('homestead')

));

此外,如果我将生产环境设置为不是我的计算机的主机名,我仍然会遇到同样的问题。


答案 1

只需为与给定环境匹配的主机指定一个计算机名称,然后将自动检测环境(默认值为 ),例如:laravelproduction

$env = $app->detectEnvironment(array(

    //'local' => array('homestead'),

    'local' => array('*.dev', gethostname()),
    'production' => array('*.com', '*.net', 'www.somedomain.com')
));

请阅读文档此答案


答案 2

将环境设置为生产环境以外的环境是正确的方法。请参阅接受的答案。

但是,如果您正在寻找可以使用的快速修复(在UNIXoid环境中):

yes | php artisan migrate:refresh

所有这一切都是向程序发送一个“y”流,其行为就像你在出现提示时按“y”一样。

我发现这比 好一点,因为并非所有工匠命令都支持力量。--force


推荐