0

我正在专门使用 symfony 2.3.6 版本的项目。问题是我对代码进行了更改,但更改不会反映在页面上,直到页面收费多次。我在开发环境中。好像每次加载页面时都没有编译代码。你是不是应该在dev环境下总是要编译的?问候

谢谢四你的回答。我使用 MAMP 和 php 5.5.3 并且没有选择缓存。app_dev 是:

<?php

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Debug\Debug;

// If you don't want to setup permissions the proper way, just uncomment the following PHP line
// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information
//umask(0000);

// This check prevents access to debug front controllers that are deployed by accident to production servers.
// Feel free to remove this, extend it, or make something more sophisticated.
if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1'))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

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

require_once __DIR__.'/../app/AppKernel.php';

$kernel = new AppKernel('dev', true);
//$kernel->loadClassCache();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

我评论了 //$kernel->loadClassCache(); 但问题没有解决。

4

1 回答 1

1

Symfony caches everything by default, especially Twig. And it's tedious, I know.

Looking at the manual (http://symfony.com/doc/current/book/templating.html) it says:

If you add a template in a new location, you may need to clear your cache (php app/console cache:clear), even if you are in debug mode.

And so, you need to clear the cache. But attention deleting all, because the user sessions are stored in /cache/dev/sessions. That's another strong limitation: Symfony2 requires a writable filesystem.

There is a radical solution, but your app could get really slow, also in dev mode:

twig:
    cache: false

In your config.yml

于 2013-10-21T12:27:39.127 回答