понедельник, 28 сентября 2009 г.

Routing cache в symfony

Уже довольно давно хотел написать об этом, но всё руки не доходили.
При довольно большом количестве ссылок иногда можно наблюдать ошибку такого плана
Allowed memory size of ******** bytes exhausted (tried to allocate ******* bytes) in app/cache/frontend/prod/config/config_core_compile.yml.php on line 3369
Происходит это из-за того, что кеш роутинга становится слишком большим.
Кеш представляет собой огромный сериализованный массив в файле
app/cache/frontend/prod/config/routing/symfony.routing.data.cache

Существует несколько вариантов решения этой проблемы, но для себя самым оптимальным я нашел просто отключение кеша для роутера. В factories.yml
all:
  routing:
    class: sfPatternRouting
    param:
      cache: { class: sfNoCache }
Почему я только сейчас пишу об этом? Да потому что только что вышла symfony 1.2.9, в которой как раз по дефолту и отключен кеш роутинга :)

Комментариев нет:

Отправить комментарий