Symfony2 - 测试文件夹

时间:2013-06-04 21:09:38

标签: php mysql symfony

我为我的Web应用程序安装了正确的Symfony2环境,该环境连接到某个mysql数据库。

我正在尝试设置一个物理上分离的测试环境,将其用作生产前测试环境,作为生产的“镜像”,在“www”的子文件夹中找到整个项目的副本。

类似的东西:

www
  |app
      |config
          |parameters.ini
  |src
  |vendor
  |web
  (...)
  |testing_environment
      |app
          |config
              |parameters.ini
      |src
      |vendor
      |web
      (...)

查看parameters.ini个文件。在上层(生产环境中的那个)中,我已经将生产数据库的连接设置为其主机名,数据库名称,用户和密码。

在第二个parameters.ini(test_environment / app / config下的那个)中,我设置了一个不同的数据库连接,指向它将成为测试数据库。

我的计划是访问生产环境,只需将www.myproject.com/web/main和测试环境放到www.myproject.com/testing_environment/web/main即可。一个人分别访问每个数据库。

实际上,我确实可以访问测试环境,看到我项目的测试版本,其中包含不同的目录,子目录和文件。但是,由于某种原因,正在使用www.myproject.com/web/mainwww.myproject.com/testing_environment/web/main的数据库属性是在生产parameters.ini文件中设置的数据库属性,导致访问和修改的唯一数据是生产环境一,无论我在浏览器中访问什么环境。

为什么会这样?是不是所有相对引用?测试环境是否必须指向具有不同数据库连接属性的自己的parameters.ini?

我已阅读有关使用不同配置,捆绑包和/或工具栏设置不同环境的Symfony2文档。但这不允许使用不同的数据库和目录/文件集。

我错过了什么?如果不为我的预生产测试工作雇用不同的托管,我如何得到我需要的东西?

2 个答案:

答案 0 :(得分:0)

我很遗憾地说出来,但你这样做是错误的。阅读有关Symfony2环境和前端控制器的信息。通过在app/config中使用不同的配置文件来完成不同的配置。并且不同的前控制器放在web

要阅读的内容:

答案 1 :(得分:0)

好的,我明白了!

这是缓存目录的问题。

当我复制整个Symfony文件夹时,它内部包含整个app / logs和app / cache文件夹。

删除这两个文件夹后,使用第一个http请求重新生成缓存,并存储新的连接数据库。

所以问题是我不知道Symfony2在缓存中以某种方式连接到数据库。顺便说一句,可能是与学说有关。