prod中的Symfony2可以看到代码更改

时间:2013-09-03 15:03:09

标签: symfony production-environment

我注意到如果我更改了源代码,它会影响生产环境。这种行为是否正常?

我认为重新启动文件更改缓存应该只在dev环境中进行,并且源代码的更改不应该应用于prod缓存。

这是我的app.php文件:

use Symfony\Component\ClassLoader\ApcClassLoader;
use Symfony\Component\HttpFoundation\Request;

$loader = require_once __DIR__.'/../app/bootstrap.php.cache';

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

$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
Request::enableHttpMethodParameterOverride();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

这是我的config_prod.yml

imports:
    - { resource: config.yml }

framework:
    router:
        strict_requirements: null

和config.yml:

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: databases.yml }

framework:
    translator:      { fallback: %locale% }
    secret:          %secret%
    router:
        resource: "%kernel.root_dir%/config/routing.yml"
        strict_requirements: %kernel.debug%
    form:            ~
    csrf_protection: ~
    validation:      { enable_annotations: true }
    templating:
        engines: ['twig','php']
        #assets_version: SomeVersionScheme
    default_locale:  "%locale%"
    trusted_proxies: ~
    session:         ~
    fragments:       ~

# Twig Configuration
twig:
    debug:            %kernel.debug%
    strict_variables: %kernel.debug%

我用这个命令清除缓存:

app/console cache:clear --env=prod --no-debug

1 个答案:

答案 0 :(得分:1)

它会影响两个环境,因为它们不是环境,而是更像模式。您可以在开发模式或生产模式下执行更改,但无论代码是否会影响开发和生产两种模式。开发模式只允许您查看统计信息,日志等以及您可能不希望在生产模式下显示的调试消息。