如何在symfony中禁用缓存

Kar*_*mar 7 php symfony

我正在开发一个symfony框架的网站.在我的缓存文件夹中存储了一个巨大的缓存.我想永久禁用缓存.

Die*_*rri 13

虽然我建议不要在生产系统上禁用缓存,但您可以通过编辑和添加到config.yml文件来禁用twig模板引擎缓存

twig:
    cache: false
Run Code Online (Sandbox Code Playgroud)


Sta*_*ode 8

可以在您app.phpapp_dev.php文件中禁用Symfony2中的类高速缓存:

$loader = require_once __DIR__.'/../app/autoload.php';
Debug::enable();

$kernel = new AppKernel('dev', true);
#$kernel->loadClassCache();  // <-- comment out this line
$request = Request::createFromGlobals();
Run Code Online (Sandbox Code Playgroud)

Symfony2 - 禁用引导程序文件和类高速缓存


小智 5

即使在使用 app_dev.php 时我也遇到缓存问题。我会更改路线,但当我尝试通过浏览器访问它时它不会更新。

我尝试注释掉其中包含缓存的任何内容(如上所述)。我的 AppKernel('dev', true) 设置为 true。没有任何效果。

如果我运行控制台缓存:清除它会修复它,但下一次路由更改会再次中断。我不得不在每次保存时运行缓存:清除,这很荒谬。

我的问题原来是因为我通过 SFTP 远程工作,所以 PHP Storm(我的编辑器)在其部署配置中“保留时间戳”。一旦我更改了该配置,问题就消失了。显然,即使在开发环境中,也有一些缓存正在查看文件时间戳。


Mic*_*son 0

当您在开发环境状态下工作时,缓存无论如何都会被禁用 - 我假设您只想在开发中禁用它,因此请使用 /app_dev.php 文件来确保没有缓存任何内容。

或者,您可以使用命令行定期清空缓存

php app/console cache:clear
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看所有不同的参数:http://symfony.com/doc/current/cookbook/console/usage.html

  • 据我所知,在开发模式下不会禁用缓存。 (5认同)