На моем сервере у меня несколько виртуальных хостов, я запускаю на них несколько приложений на основе ZF 1.12. При кэшировании данных (с Zend_Cache_Backend_File) каждый проект сохраняет файлы в/tmp.Zend_Cache default cache_dir в application.ini
Проблема в том, что есть некоторые проблемы с правами доступа и прав доступа. Запуск PROJECT2 Я получаю эту ошибку:
Предупреждение: FOPEN (/ TMP/Zend_Cache --- внутреннего --- Zend_LocaleC_de_DE_currencynumber_ метаданные)
и это потому, что файл был сделан project1 работает на отдельном виртуальном хосте.
Так что я хотел бы определить отдельную папку для кэшированных данных каждого проекта, что-то вроде этого:
/TMP/porject1
/TMP/project2
Лучший способ ИМО будет делать это с помощью application.ini - поэтому я попытался это:
resources.cachemanager.database.backend.name = File
resources.cachemanager.database.backend.customBackendNaming = false
resources.cachemanager.database.backend.options.cache_dir = "/tmp/project1"
Но это не работает - данные по-прежнему сохраняется в/TMP - то, что я делаю неправильно?
Вы пытались очистить кеш до внесения изменений? $ YourCacheManangerObject-> чистый (Zend_Cache :: CLEANING_MODE_ALL); –
Я отвечу на вопрос :) Является ли база данных в resource.cachemanager.database.backend.name объектом менеджера кэша? Если это так, я не знаю, как получить к нему доступ. Проблема, описанная мной, возникает, даже если я не использую свои собственные объекты zend_cache (/ zend_cache --- internal-metadatas --- Zend_LocaleC_de_DE_currencynumber_ выполняется самим ZF). – Okizb
Нет, backend.name - это тип «бэкэнд-кеша». Объект CacheMananger устанавливается в Zend_Registry. Используйте Zend_Registry :: get ('Zend_Cache_Manager') для доступа к нему. –