首页 > 解决方案 > Symfony4:在生产服务器上访问 DEV 环境

问题描述

在 Symfony3 中,当我想在“实时”服务器上浏览 DEV 环境中的网站时,我只需输入我的 ip 地址并在浏览器中/web/app_dev.php打开。http://www.example.com/app_dev.php/

由于在 Symfony4 中,环境现在设置在 中/.env,我如何才能看到生产机器上的 DEV 环境?

编辑:我正在寻找一种适用于生产的解决方案,因此不能应用任何全局更改(例如设置APP_ENV=devin /.env)。

标签: phpsymfonysymfony4

解决方案


您可以像这样在.env文件中更改APP_ENV为 dev :

APP_ENV=dev

如果您设置该变量 symfony 将系统加载到开发环境中,因为在 Kernel.php 中有这一行检查该变量:

$kernel = new Kernel($_SERVER['APP_ENV'] ?? 'dev', $_SERVER['APP_DEBUG'] ?? false);

如果您想在不更改 .env 文件的情况下执行此操作,您可以例如根据您正在访问的 URL 在 Apache vhost 或 Nginx FastCgi 配置中设置一个变量 - 例如APP_ENV=/home/user/app-name/dev.env或在实时服务器上:APP_ENV=/etc/app-name.prod.env

所以在这种情况下,你有很多 .env 文件,但你可以使用基于 url 的规则


推荐阅读