2010-06-04 26 views
2

我想在zend框架中使用xcache來緩存來自Zend_Db_Table_Abstract的元數據,以便每個表只能調用一次描述查詢。當實現了XCache到我的引導和運行應用程序,我被帶有以下錯誤:Xcache var_size錯誤

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上。任何幫助,將不勝感激。

+0

另請參閱:http://drupal.org/node/570264 – kenorb 2012-08-07 13:08:28

+0

XCache錯誤:http://xcache.lighttpd.net/ticket/228 – kenorb 2012-08-07 13:19:16

回答

1

運行一個phpinfo(),看看這些設置是否準確/以確保正確的php.ini被加載。另外,嘗試將mmap_path設置爲「/ dev/zero」(它所做的只是禁用readonly_protection,您還沒有啓用它)...

+0

感謝您的幫助。運行php信息顯示xcache被加載了兩次。一旦從php.ini,然後一個xcache.ini。我刪除了xcache.ini(將其複製到.old)並重新啓動apache,錯誤消失了。再次感謝 – ranhan 2010-06-04 19:59:09

0

我有Doctrine CLI命令的這個問題。更改var_size或mmap_path不起作用。爲了讓錯誤消失,我從php.ini中刪除/註釋了對Xcache的所有引用。這些命令和我的Web應用程序之後仍然有效,但錯誤消失了。