2

我正在尝试将 xcache 与 zend 框架一起使用来缓存 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 上。任何帮助,将不胜感激。

4

2 回答 2

1

运行 a phpinfo(),看看这些设置是否准确/以确保加载了正确的 php.ini。另外,尝试将 mmap_path 设置为“/dev/zero”(它所做的只是禁用 readonly_protection,无论如何您都没有启用它)...

于 2010-06-04T18:50:57.653 回答
0

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

于 2014-05-23T13:29:00.633 回答