Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2-测试文件夹_Php_Mysql_Symfony - Fatal编程技术网

Php Symfony2-测试文件夹

Php Symfony2-测试文件夹,php,mysql,symfony,Php,Mysql,Symfony,我的web应用程序有一个正确安装的Symfony2环境,它连接到某个mysql数据库 我试图设置一个物理上分离的测试环境,将其用作生产前测试环境,作为生产的“镜像”,在“www”的子文件夹中查找整个项目的副本 比如: www |app |config |parameters.ini |src |vendor |web (...) |testing_environment |app |config

我的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
(testing\u environment/app/config下的一个)中,我设置了一个不同的数据库连接,指向它将要测试的数据库

我的计划是访问生产环境(仅放置
www.myproject.com/web/main
),访问测试环境(放置
www.myproject.com/testing\u environment/web/main
)。一个单独访问每个数据库

事实上,我确实访问了测试环境,看到了我项目的测试版本,以及它的不同目录、子目录和文件集。但是,由于某些原因,在
www.myproject.com/web/main
www.myproject.com/testing_environment/web/main
中使用的数据库属性都是在production
parameters.ini
文件中设置的,这导致访问和修改的唯一数据是生产环境,无论我在浏览器中访问什么环境

为什么会发生这种情况?这不都是相对而言的吗?测试环境是否必须使用不同的数据库连接属性指向自己的parameters.ini

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


我错过了什么?我如何在不为我的预生产测试工作雇佣不同的主机的情况下获得我需要的东西?

我很抱歉这么说,但你做得不对。阅读有关Symfony2环境和前端控制器的内容。通过使用
app/config
中的不同配置文件,可以完成不同的配置。不同的前端控制器放在
web

要读的东西:

    • 好的,我明白了

      这是缓存目录的问题

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

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


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

      谢谢你的回答。我已经知道了文档,但这并不能满足我的要求。也就是说,使用同一版本的应用程序,配置不同的环境以执行不同的配置、库和行为。例如,获取或不获取工具栏,加载一组库和捆绑包或其他,等等。。。我所追求的是让同一应用程序的不同版本(共存于不同的文件夹中)访问两个不同的数据库。经典的测试和生产环境。一旦测试完成,就进入生产阶段。