在我的服务器上我有多个虚拟主机,我在它们上面运行了几个基于ZF 1.12的应用程序。缓存数据时(使用Zend_Cache_Backend_File),每个项目都将文件保存在/ tmp中。
问题是存在一些名称和访问权限问题。运行project2我收到此错误:
警告:fopen(/ tmp / zend_cache --- internal-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中 - 我做错了什么?
答案 0 :(得分:1)
在查看Zend / Cache / Backend.php代码时,有一些替代方法可以正确猜测cache_dir:
然后$_SERVER['TEMP'] = realpath('/tmp/project1');
将解决您的问题。
请记住将权限更改为缓存文件夹中的777