【发布时间】:2013-06-04 10:04:17
【问题描述】:
我们有几个站点,每个站点都有自己的数据库和网址。 所有站点都使用由 Symfony2 编写的 API。 Symfony中的数据库配置在parameter.php文件中,根据当前站点设置数据库参数。
因此,对 Symfony 的每个请求都可以来自不同的数据库,这意味着每次都应该加载配置。 问题是如何禁用配置参数的缓存。
或者,如果有其他想法,如何保持缓存并找到为每个站点创建缓存的方法,我很乐意听到。
谢谢。
【问题讨论】:
我们有几个站点,每个站点都有自己的数据库和网址。 所有站点都使用由 Symfony2 编写的 API。 Symfony中的数据库配置在parameter.php文件中,根据当前站点设置数据库参数。
因此,对 Symfony 的每个请求都可以来自不同的数据库,这意味着每次都应该加载配置。 问题是如何禁用配置参数的缓存。
或者,如果有其他想法,如何保持缓存并找到为每个站点创建缓存的方法,我很乐意听到。
谢谢。
【问题讨论】:
我最终为每个站点创建了一个单独的缓存目录。这样配置参数就保存在每个站点的缓存中。
以下是覆盖缓存目录的方法: http://symfony.com/doc/2.1/cookbook/configuration/override_dir_structure.html
我刚刚在 AppKernel.php 文件中添加了以下内容:
public function getCacheDir()
{
$request = Request::createFromGlobals();
return $this->rootDir . '/cache/'. $this->environment .'/' . $request->getHost();
}
【讨论】: