Laravel 阻止工匠提问;是否确实要运行此命令?“;
我刚开始使用Laravel4,在本地主机上运行它。我想知道如何让artisan在每次执行迁移命令时跳过询问Laravel 阻止工匠提问;是否确实要运行此命令?“;,laravel,laravel-4,command-line,laravel-artisan,artisan-migrate,Laravel,Laravel 4,Command Line,Laravel Artisan,Artisan Migrate,我刚开始使用Laravel4,在本地主机上运行它。我想知道如何让artisan在每次执行迁移命令时跳过询问您真的希望运行此命令吗??我只想立即执行命令,而不必键入y。也不需要在迁移命令的末尾添加--force 我知道提示在制作中非常重要,但我觉得它有点烦人,尤其是在教程中。我只是想把它关掉,让生活更轻松 任何帮助都将不胜感激。如果您将环境设置为本地,您将不会收到警告问题,因为只有当Laravel检测到您处于生产中时,才会显示警告问题,错误地运行迁移可能会有危险。您只需在bootstrap/sta
您真的希望运行此命令吗?
?我只想立即执行命令,而不必键入y
。也不需要在迁移命令的末尾添加--force
我知道提示在制作中非常重要,但我觉得它有点烦人,尤其是在教程中。我只是想把它关掉,让生活更轻松
任何帮助都将不胜感激。如果您将环境设置为本地,您将不会收到警告问题,因为只有当Laravel检测到您处于生产中时,才会显示警告问题,错误地运行迁移可能会有危险。您只需在
bootstrap/start.php
文件中添加以下内容:
$env = $app->detectEnvironment(array(
// The array value should be your hostname
'local' => array('your-machine-name'),
));
以上内容将允许Laravel在检测到您的计算机主机名与您指定的主机名冲突时,将环境设置为local,从而避免显示消息
有关配置环境及其优势的更多信息,请阅读。如果将环境设置为本地,则不会出现警告问题,因为只有当Laravel检测到您处于生产中时,才会出现警告问题,错误地运行迁移可能会很危险。您只需在
bootstrap/start.php
文件中添加以下内容:
$env = $app->detectEnvironment(array(
// The array value should be your hostname
'local' => array('your-machine-name'),
));
以上内容将允许Laravel在检测到您的计算机主机名与您指定的主机名冲突时,将环境设置为local,从而避免显示消息
有关配置环境及其优势的更多信息,请阅读。在Bogdan的回答和评论中添加更多内容 如果您不熟悉Laravel中的环境概念,那么它可以为您的应用程序运行的环境指定不同的配置。例如,您的本地环境中的数据库凭据与live server(生产环境)中的数据库凭据不同 因此,您不应该使用
'local'=>数组(gethostname())
的一个原因是,这将使您的环境成为本地的
,而不管您在哪里运行它(您的本地机器、测试环境或生产环境)
这是确定env的首选方法
$env = $app->detectEnvironment(function() {
return getenv('APP_ENV') ? : 'production';
});
因此,除非在VHOST文件中设置了环境变量,否则它将默认为production
但由于您不必指定环境变量,我建议您坚持Bogdan的解决方案。为Bogdan的答案和评论添加更多内容 如果您不熟悉Laravel中的环境概念,那么它可以为您的应用程序运行的环境指定不同的配置。例如,您的本地环境中的数据库凭据与live server(生产环境)中的数据库凭据不同 因此,您不应该使用
'local'=>数组(gethostname())
的一个原因是,这将使您的环境成为本地的
,而不管您在哪里运行它(您的本地机器、测试环境或生产环境)
这是确定env的首选方法
$env = $app->detectEnvironment(function() {
return getenv('APP_ENV') ? : 'production';
});
因此,除非在VHOST文件中设置了环境变量,否则它将默认为production
但是,既然您不必指定环境变量,我建议您坚持使用Bogdan的解决方案。它奏效了。谢谢不过我应该提到,我使用了
'local'=>数组(gethostname()),
,因为将参数分配给local
或localhost
仍然表示应用程序正在生产中。@Jed但是要注意,这样做,即使应用程序投入生产,它仍然会在本地环境中。更好的选择是$env=$app->detectEnvironment(函数(){return getenv('app_env')?:'production';})
并在VHOST文件中设置APP_ENV
。@blackpla9ue是正确的,这样做,无论在哪台机器上运行应用程序,环境都将始终是本地的。在您的终端php-r“echo gethostname();”
中运行此命令,以获取主机名字符串并使用该字符串来设置环境。此外,如果您说您是Laravel新手,您应该真正了解并学习Laravel 5.1,因为这是最新版本。@blackpla9ue,我感谢您的建议!谢谢只是对我来说,条件是如何工作的没有意义。而且我正在使用WAMP,我不确定如何在vhost文件中设置APP_ENV。你能提供更多关于它的细节吗?或者任何有用的链接都可以。它很有效。谢谢不过我应该提到,我使用了'local'=>数组(gethostname()),
,因为将参数分配给local
或localhost
仍然表示应用程序正在生产中。@Jed但是要注意,这样做,即使应用程序投入生产,它仍然会在本地环境中。更好的选择是$env=$app->detectEnvironment(函数(){return getenv('app_env')?:'production';})
并在VHOST文件中设置APP_ENV
。@blackpla9ue是正确的,这样做,无论在哪台机器上运行应用程序,环境都将始终是本地的。在您的终端php-r“echo gethostname();”
中运行此命令,以获取主机名字符串并使用该字符串来设置环境。此外,如果您说您是Laravel新手,您应该真正了解并学习Laravel 5.1,因为这是最新版本。@blackpla9ue,我感谢您的建议!谢谢只是对我来说,条件是如何工作的没有意义。而且我正在使用WAMP,我不确定如何在vhost文件中设置APP_ENV。你能提供更多关于它的细节或任何有用的链接吗