symfony2:如何在少数路由上有选择地禁用 APC 缓存
symfony2 : How to disable APC cache selectively on few routes
我正在使用 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);
}
// ...
希望对您有所帮助
我正在使用 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);
}
// ...
希望对您有所帮助