我使用的是 symfony 版本 2.3 。我在 config.yml 中使用了以下内容
metadata_cache_driver: apc
result_cache_driver: apc
query_cache_driver: apc
我想禁用以下 URL 的缓存。 www.domain.com/dashboard
我怎样才能实现这个目标?任何帮助
最佳答案
在您的 app.php
或 index.php
中,您应该有这样的内容:
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
$apcLoader = new ApcClassLoader(sha1(__FILE__), $loader);
$loader->unregister();
$apcLoader->register(true);
require_once __DIR__.'/../app/AppKernel.php';
require_once __DIR__.'/../app/AppCache.php';
$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
$kernel = new AppCache($kernel);
// ...
因此您可以使用 $_SERVER['REQUEST_URI']
例如
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';
$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
if (!preg_match('#dashboard#'), $_SERVER['REQUEST_URI']) {
$apcLoader = new ApcClassLoader(sha1(__FILE__), $loader);
$loader->unregister();
$apcLoader->register(true);
require_once __DIR__.'/../app/AppCache.php';
$kernel = new AppCache($kernel);
}
// ...
希望对你有帮助
关于symfony2 : How to disable APC cache selectively on few routes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30010375/