我在Zend Framework中设置了元数据缓存,因为批次的DESCRIBE
查询被执行并且影响了性能。文件中的Zend元数据缓存
$frontendOptions = array ('automatic_serialization' => true);
$backendOptions = array ('cache_dir' => CACHE_PATH . '/db-tables-metadata');
$cache = Zend_Cache::factory(
'Core',
'File',
$frontendOptions,
$backendOptions
);
Zend_Db_Table::setDefaultMetadataCache($cache);
我确实可以看到创建的缓存文件,并且网站工作的很好。
但是,当我启动单元测试或执行DB查询的同一应用程序的脚本时,最终出现错误,因为Zend无法读取缓存文件。
这是因为在网站上,缓存文件由WWW用户创建的,当我运行的PHPUnit或脚本,它试图用我的用户阅读它们,也未能。
您是否看到任何解决方案?我有一些quickfix的想法,但我正在寻找一个好的/稳定的解决方案。如果可能的话(出于实际原因),我宁愿避免运行phpunit或脚本www
。
我宁愿找到一个明确的解决办法,而不是每次都必须记住使用'sudo'运行我的脚本。 – 2012-09-03 11:18:46
哦,我没有看到你编辑(没有通知),它似乎很好,我不知道你可以强制文件的权利!我会尽快测试它 – 2012-09-07 08:29:38
非常感谢你! – 2012-09-07 17:20:21