Laravel 5如何从生产模式切换

时间:2015-02-25 13:14:44

标签: php laravel artisan

当我运行$ php artisan env时,我得到了;

Current application environment: production

如何将其更改为开发或类似的东西?所以我可以看到错误..我已经阅读了a lot of the documentation但是新手理解起来并不容易。我真的没有服务器配置经验。

我确定有" smart"这样做的方法,但我现在感兴趣的是手动改变环境。我该怎么做?

5 个答案:

答案 0 :(得分:61)

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

APP_ENV=development

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

APP_DEBUG=true

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

答案 1 :(得分:29)

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

# .env
APP_ENV=local

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

# .env
APP_ENV=production

答案 2 :(得分:15)

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

答案 3 :(得分:4)

您还可以看一下曝光的方法Application->loadEnvironmentFrom($file)

我需要一个应用程序才能在多个子域上运行。所以在bootstrap/app.php我添加了类似的内容:

$envFile = '.env';
// change $envFile conditionally here
$app->loadEnvironmentFrom($envFile);

答案 4 :(得分:-4)

在Laravel中,默认环境始终是生产。

您需要做的是在bootstrap/start.php为您的环境指定正确的主机名,例如:

/*
|--------------------------------------------------------------------------
| Detect The Application Environment
|--------------------------------------------------------------------------
|
| Laravel takes a dead simple approach to your application environments
| so you can just specify a machine name for the host that matches a
| given environment, then we will automatically detect it for you.
|
*/

$env = $app->detectEnvironment(array(
    'local' => array('homestead'),
    'profile_1' => array('hostname_for_profile_1')
));
相关问题