Xcache var_size错误

时间:2010-06-04 18:40:31

标签: php zend-framework xcache

我正在尝试使用带有zend框架的xcache来缓存Zend_Db_Table_Abstract中的元数据,以便每个表只调用一次描述查询。在我的引导程序中运行xcache并运行应用程序时,我遇到以下错误:

Warning: xcache_get() [function.xcache-get]: xcache.var_size is either 0 or too small to enable var data caching in /home/randall/htdocs/lib/Zend/Cache/Backend/Xcache.php on line 95.

我调整了php.ini中的设置:

; XCACHE
 626 [xcache-common]
 627 zend_extension=/usr/lib/php5/20060613/xcache.so
 628 
 629 [xcache-admin]
 630 xcache.admin.enable_auth = On
 631 xcache.admin.user = "user"
 632 xcache.admin.password = "********"
 633 
 634 [xcache]
 635 xcache.shm.scheme = "mmap"
 636 xcache.size = 128M
 637 xcache.count = 4
 638 xcache.slots = 8K
 639 xcache.ttl = 0
 640 xcache.gc_interval = 0
 641 
 642 xcache.var_size = 64M
 643 xcache.var_count = 1
 644 xcache.var_slots = 8K
 645 xcache.var_ttl = 0
 646 xcache.var_maxttl = 0
 647 xcache.var_gc_interval = 300
 648 xcache.test = Off
 649 
 650 xcache.readonly_protection = Off
 651 xcache.mmap_path = "/tmp/xcache"
 652 xcache.coredump_directory = ""
 653 
 654 xcache.cacher = On
 655 xcache.stat = On
 656 xcache.optimizer = Off
 657 
 658 [xcache-coverager]
 659 xcache.coverager = On
 660 xcache.coveragedump_directory = ""

但无论我将xcache.var_size参数设置为什么,我仍然会继续得到错误。这发生在xcache 1.2.2和1.3.0上。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

运行phpinfo(),查看这些设置是否准确/确保加载了正确的php.ini。另外,尝试将mmap_path设置为“/ dev / zero”(它只是禁用readonly_protection,你还没有启用它)...

答案 1 :(得分:0)

我在Doctrine CLI命令中遇到此问题。更改var_size或mmap_path无效。为了让错误消失,我从php.ini中删除/注释掉了对Xcache的所有引用。这些命令和我的Web应用程序之后仍然有用,但错误消失了。