php - 使本地 Symfony 2.8 应用程序像在生产环境中一样运行

标签 php symfony testing environment-variables

我有一个基于 Symfony 2.8 的应用程序。一个功能在我的本地开发环境中运行良好但在生产环境中失败。我想让我的本地环境使用 prod 模式,以便有希望重现该问题。我尝试过的:

export SYMFONY_ENV=prod
app/console cache:clear --no-warmup

一开始这似乎是可行的,因为我收到一条关于在 prod 环境中清除缓存的消息,但是当我加载应用程序时,调试工具栏是可见的,并表示我处于开发模式。

我还尝试在 parameters.yml 和 config.yml 中查找环境的任何表示。我什么也没找到。

接下来我应该尝试什么?

最佳答案

答案可能取决于很多因素:使用什么网络服务器,使用什么网络服务器配置,您使用的是 php-fpm 还是其他等等。

像“export SYMFONY_ENV=prod”这样的控制台命令仅为同一 session 中的控制台命令设置环境。但它们不会影响您的网络服务器行为。

当您在浏览器中打开项目页面时,应用程序对您在终端中输入的命令一无所知。如果您看到调试控制台,应用程序入口点可能是“web/app_dev.php”,并且环境定义如下:

// web/app_dev.php

$kernel = new AppKernel('dev', true);

尝试用'prod'改变'dev'

关于php - 使本地 Symfony 2.8 应用程序像在生产环境中一样运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51195586/

相关文章:

symfony - 查询构建器多对多关系

mysql - Doctrine2 条件关系

testing - 如何用pytest测试SimPy模拟代码?

php - 如何使用魔术方法(__get 和 __set)访问多个属性?

php方法只读取远程文件的一部分

php - 我可以将哪些论坛与 codeigniter 和他们的 session 集成

ruby-on-rails - 使用 Mocha 测试函数是否被调用

php - 如何在无类 php 文件上使用 PHPUnit 骨架生成器?

php - 将自定义供应商库添加到 Symfony2 自动加载

javascript - 如何使用 Protractor 处理具有相同中继器的两个表