файлы сессий в кеше / фронтэнде / прод / тесте - PullRequest
1 голос
/ 08 ноября 2011

Мне не нужны ни сеансы, ни кэш вывода в моем приложении, но файлы сессий создаются в cache / frontend / prod / test. Как его выключить?

cache/
└── frontend
    ├── dev
    │   ├── config
    │   ├── i18n
    │   └── template
    └── prod
        ├── config
        │   ├── config_app.yml.php
        │   ├── ...
        │   └── modules_inapppurchasevalidation_config_security.yml.php
        ├── i18n
        ├── template
        └── test
            └── sessions
                ├── 14c4d82c8934772e6450fa749f6901d3.session
                ├── 19438fe227ad428f2ebcf9aefae222f9.session
                ├── 1d24195a28026f623fd4bb48a39c6d37.session
                ├── 287d5460dbff1fb1fe48b8ca4b4ac2d5.session
                ├── 2a74fb0e218a965661286f3ac2e59dd3.session
                ├── 2ad682cfbda63ce45288020d03df551f.session
                ├── 43bb9a06ce37f8600d3ec53ae0f17373.session
                ├── 53e1834564a25ab70fb7583094b99c53.session
                ├── 632c81aaa893435ccd9d82ffd7970133.session
                ├── 698b11253e8b17cec56d9c58938579bb.session
                ├── 70a13c61da15e8a71d02634ecb0f5db1.session
                ├── f3a0d8aff2dd49da763b7a5186502748.session
                ├── f8a25a6a69d8bcedfffbdb2e469781c4.session
                ├── fa639b23b103812d460d1fe57fe02785.session
                ├── fa95efd3cb1563fe0cab1500ed803901.session
                └── fdbd2255efc01d7f17ed1d3895a16bb8.session

Содержимое этих файлов выглядит следующим образом: a: 5: {s: 31: "symfony / user / sfUser / lastRequest"; i: 1320407937; s: 33: "symfony / user / sfUser / authenticated"; b : 0; s: 31: "Symfony / пользователь / sfUser / учетные данные"; а: 0: {} s: 30: "Symfony / пользователь / sfUser / атрибуты"; а: 0: {} s: 27: "Symfony / пользователь / sfUser / культура "; s: 2:" ан ";}

factories.yml:

prod:
  logger:
    class: sfAggregateLogger
    param:
      level: err
      loggers:
        sf_file_debug:
          class: sfFileLogger
          param:
            level: err
            file: %SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%.log
test:
  storage:
    class: sfSessionTestStorage
    param:
      session_path: %SF_TEST_CACHE_DIR%/sessions
  response:
    class: sfWebResponse
    param:
      send_http_headers: false

  mailer:
    param:
      delivery_strategy: none
dev:
  mailer:
    param:
      delivery_strategy: none
all:
  routing:
    class: sfPatternRouting
    param:
      generate_shortest_url:            true
      extra_parameters_as_query_string: true

  view_cache_manager:
    class: sfViewCacheManager
    param:
      cache_key_use_vary_headers: true
      cache_key_use_host_name:    true

  storage:
    class: sfSessionTestStorage
    param:
      auto_start: false
      session_path: %SF_TEST_CACHE_DIR%/sessions

settings.yml:

prod:
  .settings:
    no_script_name:         true
    logging_enabled:        true
    cache:                  false
    etag:                   false
all:
  .settings:
    escaping_strategy:      true
    escaping_method:        ESC_SPECIALCHARS
    use_database:           true

1 Ответ

3 голосов
/ 08 ноября 2011

В вашем factories.yml есть такая конфигурация:

test:
  storage:
    class: sfSessionTestStorage
    param:
      session_path: %SF_TEST_CACHE_DIR%/sessions

Что означает: «в среде test сохраните все сеансы (используя sfSessionTestStorage в указанном пути). Если выв среде test не требуется хранилище сеансов, установите для класса значение sfNoStorage. Тогда вы можете оставить часть param, поскольку у поставщика sfNoStorage нет никаких настроек.

Если вам не нужны сеансы во всем приложении, вы можете удалить деталь в test: и настроить все в all:. (Знаете ли вы, что вы уже присвоили тот же sfSessionTestStorage в этом блоке?с точки зрения производительности, вы не должны использовать sfSessionTestStorage слишком много ...)

...