Laravel 5如何从生产模式切换

mik*_*yuk 47 php laravel artisan

当我跑步时,$ php artisan env我得到;

Current application environment: production
Run Code Online (Sandbox Code Playgroud)

如何将其更改为开发或类似的东西?所以我可以看到错误..我已经阅读了很多文档,但对新手来说理解起来并不容易.我真的没有服务器配置经验.

我确信有"聪明"的方法可以做到这一点,但我现在感兴趣的是手动改变环境.我该怎么做呢?

Bog*_*dan 69

Laravel 5从.env位于项目根目录中的文件中获取与环境相关的变量.你只需要设置APP_ENV你想要的任何东西,例如:

APP_ENV=development
Run Code Online (Sandbox Code Playgroud)

这用于识别当前的环境.如果要显示错误,则需要在同一文件中启用调试模式:

APP_DEBUG=true
Run Code Online (Sandbox Code Playgroud)

.env文件的作用是允许您根据运行应用程序的计算机进行不同的设置.因此,在您的生产服务器上,.env文件设置将与您当地的开发环境不同.

  • 您有一个`.env`文件,但在运行该应用程序的每台计算机上的内容可能不同.例如,在本地计算机上,您将拥有"APP_ENV = development"和"APP_DEBUG = true",但在生产服务器上,值为"APP_ENV = production"和"APP_DEBUG = false". (8认同)

Nin*_*olo 34

Laravel 5使用.env文件来配置您的应用程序..env不应该在您的存储库上提交,例如github或bitbucket.在您的本地环境中,您.env将看起来如下所示:

# .env
APP_ENV=local
Run Code Online (Sandbox Code Playgroud)

对于生产服务器,您可能具有以下配置:

# .env
APP_ENV=production
Run Code Online (Sandbox Code Playgroud)


小智 24

php artisan config:clear在对.env文件进行更改后,请不要忘记运行该命令.再次完成此操作php artisan env,将返回正确的版本.


Sje*_*iti 5

您还可以看看的是公开方法 Application->loadEnvironmentFrom($file)

我需要一个应用程序才能在多个子域上运行。因此,bootstrap/app.php我添加了以下内容:

$envFile = '.env';
// change $envFile conditionally here
$app->loadEnvironmentFrom($envFile);
Run Code Online (Sandbox Code Playgroud)