我似乎一直试图让 APC 从 CLI 与 Zend Cache 一起工作。
我知道 APC 已安装(可以在 infophp() 中看到它;
我可以转储代码并查看 APC 值是从配置文件中提取的。
但是当我在命令行上运行命令时: /usr/bin/php -c /var/www/html/php.ini /var/www/html/public/index.php cronhalfhourly
我收到错误:PHP Notice: Failed Saving metadata to metadataCache in /ebs1/www/html/library/Zend/Db/Table/Abstract.php on line 839
当我使用“文件”而不是 APC 时,它工作正常,文件被写入缓存目录。当它是 APC 时,没有文件被写入缓存目录,正如人们所期望的那样。
这是我的代码:
protected function _initCache() {
$strings_config = Zend_Registry::get('strings_config');
$frontendOptions = array(
'lifetime' => 7200,
'automatic_serialization' => true
);
$backendOptions = array(
'cache_dir'=> $strings_config->tablemetadatacachepath
);
$cache = Zend_Cache::factory('Core',
$strings_config->backendcache,
$frontendOptions,
$backendOptions);
// Next, set the cache to be used with all table objects
Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
Zend_Registry::set('cache',$cache);
}
我被卡住了,有什么想法吗?