Php 拉威尔说我在制作,而我不是

Php 拉威尔说我在制作,而我不是,php,heroku,laravel,Php,Heroku,Laravel,在我的本地电脑上很好用。但是,当Heroku尝试使用以下命令构建应用程序时,它会中止该应用程序并说我正在生产,即使我使用了-force标志: 我显然不是在生产中,因为如果我是,它根本无法连接到数据库。生产数据库设置不同。如果我通过bash控制台进行迁移和种子植入,它会很好地运行。我是这样做的: $env = $app->detectEnvironment(function(){ if(isset($_SERVER['APP_ENVIRONMENT'])) { return $_SE

在我的本地电脑上很好用。但是,当Heroku尝试使用以下命令构建应用程序时,它会中止该应用程序并说我正在生产,即使我使用了-force标志:

我显然不是在生产中,因为如果我是,它根本无法连接到数据库。生产数据库设置不同。如果我通过bash控制台进行迁移和种子植入,它会很好地运行。

我是这样做的:

$env = $app->detectEnvironment(function(){
if(isset($_SERVER['APP_ENVIRONMENT'])) {
    return $_SERVER['APP_ENVIRONMENT'];
}
return 'local';
SetEnv APP_ENVIRONMENT local
})

其中,在apache虚拟主机配置中设置了APP_环境,如下所示:

$env = $app->detectEnvironment(function(){
if(isset($_SERVER['APP_ENVIRONMENT'])) {
    return $_SERVER['APP_ENVIRONMENT'];
}
return 'local';
SetEnv APP_ENVIRONMENT local

在开发、暂存和生产服务器上,APP_环境的值和默认返回值显然不同。这允许artisan拾取环境,即使artisan命令无法使用$\u服务器。

您的环境检测设置错误。请配置您的环境文件。检查计算机的本地/主机名。在终端上尝试主机名。当我确认运行该命令后,它在迁移和种子设定时使用dev数据库设置时,我的环境检测设置怎么会错误?如果没有,它会窒息,因为生产设置完全不同。我就是这样做的。但这不是重点,因为问题不在于它使用了错误的设置。问题是它声称我正在使用生产设置。