【问题标题】:Can not run in DEV environment无法在DEV环境中运行
【发布时间】:2018-02-07 08:29:24
【问题描述】:

我给你写信是因为我在运行我的项目 Symfony 4 DEV 环境时遇到问题。确实,我的印象是这个不正确,因为:

  • 当我进行修改时,它不会立即可见,我通常必须清空缓存才能看到它们
  • 分析器和相关的“黑条”不出现并返回 404(我的 base.htm.twig 中有 body 标签)
  • 他没有“立即”看到我创建的道路

我通过以下命令 composer require profiler --dev 安装了分析器,并且我在 Web 服务器中(直接在我的 NDD 和我的服务器上)。

我在 dev 中也有变量 APP_ENV,当我通过 {{app.environment}} 直接在树枝中显示它时,它很好地显示了“dev”

我希望我的解释足够清楚,并且您能够帮助我。提前谢谢你

ps:对不起我的英语,但我在谷歌翻译;)

编辑:我在 Symfony slack 上的某个人的帮助下找到了解决方案......我没有安装 apache-pack 包,它在公共文件夹中创建了一个 .htaccess 文件并管理 url 的重写......这就是为什么找不到我的路。 为了我的辩护,我在文档中的任何地方都没有看到这个包

【问题讨论】:

  • 我想我会尝试重新安装,如果没有任何反应,我会选择 symfony 3

标签: php symfony composer-php bundle environment


【解决方案1】:

首先你要安装symfony/dotenv(dotenv) 在.env 中遵循以下内容:

APP_ENV=dev

如果你还没有安装symfony/dotenv

composer require symfony/dotenv

您可以在此处阅读此内容https://symfony.com/doc/current/components/dotenv.html

另外你必须关注config/packages/dev/web_profiler.yaml:

web_profiler:
    toolbar: true
    intercept_redirects: false

framework:
    profiler: { only_exceptions: false }

【讨论】:

  • 我不明白。我的 .env 文件执行得很好,因为当我在我的树枝 {{ app.environnement }} 中使用时,我得到了“DEV”。还是无关,我说的是愚蠢?
  • ###> symfony/framework-bundle ### APP_ENV=dev APP_SECRET=************************* #TRUSTED_PROXIES=127.0.0.1,127.0.0.2 #TRUSTED_HOSTS=localhost,example.com ###< symfony/framework-bundle ###
  • ###> doctrine/doctrine-bundle ### # Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url # For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db" # Configure your db driver and server_version in config/packages/doctrine.yaml DATABASE_URL=mysql://*****:*****@127.0.0.1:3306/***** ###< doctrine/doctrine-bundle ###
  • 我想我会尝试重新安装,如果没有任何反应,我会选择 symfony 3
  • 你安装了twig bundle 吗?
【解决方案2】:

APP_ENV=dev 添加到您的.env 中不是强制性的。

在 Symfony 4 中,您可以在 public/index.php 这个中看到

if (!isset($_SERVER['APP_ENV'])) {
    if (!class_exists(Dotenv::class)) {
        throw new \RuntimeException('APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file.');
    }
    (new Dotenv())->load(__DIR__.'/../.env');
}

$env = $_SERVER['APP_ENV'] ?? 'dev';

因此,如果您的 APP_ENV 为空,那么您的环境使用的是 dev,但最好在 .env 中使用 APP_ENV

【讨论】:

  • 我实际上认为我有两个不同的问题:探查器在错误 404 中的问题和 DEV 环境的问题......为了推进我想确定我不在环境DEV不知不觉。我说它不起作用,因为当我遇到错误(例如路由)时,我“只是”一个 404 错误,而不是带有解释等的 symfony 错误……确认存在问题并且我应该有这样的报告一个简单的路由错误(例如红色背景)
  • 我想我会尝试重新安装,如果没有任何反应我会选择 symfony 3
猜你喜欢
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2020-11-30
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 2017-04-26
  • 1970-01-01
相关资源
最近更新 更多