我的服務器上我有多個虛擬主機Zend_Cache是默認的cache_dir,我在上面運行基於ZF 1.12多種應用。當緩存數據(使用Zend_Cache_Backend_File)時,每個項目都將文件保存在/ tmp中。中的application.ini
的問題是有一些名稱和訪問權限的問題。運行項目2我得到這個錯誤:
警告:的fopen(/ tmp目錄/ Zend_Cache是---內部metadatas --- Zend_LocaleC_de_DE_currencynumber_)
,這是因爲該文件是由單獨的虛擬主機上運行PROJECT1製造。
所以我想定義單獨的文件夾爲每個項目的緩存數據,這樣的事情:
的/ tmp/porject1
的/ tmp /項目2
最好的辦法IMO是做這種使用的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); –
我會回答的問題:)數據庫中的resources.cachemanager.database.backend.name緩存管理器對象?如果是這樣,我不知道如何訪問它。即使我不使用我自己的Zend_Cache是對象(/ Zend_Cache是---內部metadatas --- Zend_LocaleC_de_DE_currencynumber_由ZF本身造成的),由我所描述的問題發生。 – Okizb
不,backend.name是「後端緩存」的類型。 CacheMananger對象設置在Zend_Registry上。使用Zend_Registry :: get('Zend_Cache_Manager')來訪問它。 –