Laravel 4 使用getenev()在fortrabbit中设置laravel 4环境
您好,我将基于laravel 4的应用程序部署到fortrabbit。我尝试设置本地和生产环境 在Laravel 4 使用getenev()在fortrabbit中设置laravel 4环境,laravel-4,env,fortrabbit,Laravel 4,Env,Fortrabbit,您好,我将基于laravel 4的应用程序部署到fortrabbit。我尝试设置本地和生产环境 在bootstrap/start.phpI中修改 $env = $app->detectEnvironment(function () { return getenv('LARAVEL_ENV') ?: 'local'; }); 关于fortrabbit,我定义了env_var 拉雷维尔环境公司,以生产 但是如果我试着用兔子 php artisan env 我获得本地而不是p
bootstrap/start.php
I中修改
$env = $app->detectEnvironment(function () {
return getenv('LARAVEL_ENV') ?: 'local';
});
关于fortrabbit,我定义了env_var
拉雷维尔环境公司,以生产
但是如果我试着用兔子
php artisan env
我获得本地而不是prod
我的代码出了什么问题?在Fortrabbit的仪表板中设置环境变量后,需要在
start.php
文件中编写以下内容:
$env = $app->detectEnvironment(function () {
return isset($_SERVER['LARAVEL_ENV'])
? $_SERVER['LARAVEL_ENV']
: 'prod';
});
请注意,如果没有环境变量,最好回退到生产环境,因为您不想在生产应用程序上错误地显示调试日志。您是如何准确地在Fortrabbit上定义
LARAVEL_ENV
的?是的,我在Fortrabbit dashboard中定义了如果您在Fortrabbit dashboard中设置/修改环境变量,确保使用新的SSH会话在命令行上获取新值。感谢Oliver big,但即使我在本地主机上(我没有在本地主机上设置LARAVEL_envended),这也是prod,因此您应该在本地环境中将LARAVEL_ENV
值显式设置为local
。这当然不是必须的,但它可能会使您避免有一天在生产环境中显示调试日志。如果您不想这样做,那么您可以在上面的代码中将'prod'
替换为'local'
。