我在 Zend Framework中设置了元数据缓存,因为执行了很多DESCRIBE
查询并影响了性能。
$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);
我确实可以看到创建的缓存文件,并且网站运行良好。
但是,当我启动单元测试或执行数据库查询的同一应用程序的脚本时,我最终会遇到错误,因为Zend 无法读取缓存文件。
这是因为在网站中,缓存文件是由 www 用户创建的,当我运行 phpunit 或脚本时,它会尝试用我的用户读取它们,但它失败了。
你有什么解决办法吗?我有一些快速修复的想法,但我正在寻找一个好的/稳定的解决方案。而且我宁愿www
尽可能避免运行 phpunit 或脚本(出于实际原因)。