我有一个安装了Memcache的Drupal7网站,它在Apache2 web服务器上工作得很好。现在我已经用HHVM (HipHop)取代了Apache2,并且在性能上得到了真正的提升。
问题是Drupal显然不能与Memcache服务器交互。下面是错误:
Notice: Use of undefined constant MEMCACHE_COMPRESSED - assumed 'MEMCACHE_COMPRESSED' in dmemcache_set() (line 44 of /.../modules/memcache/dmemcache.inc).当然,没有任何东西存储在Memcache中。
我认为Drupal的Memcache模块正在使用PECL的Memcache:set(),这在这个新安装的HHVM中是不可用的。是否有针对HHVM的类似PECL的安装?
谢谢
发布于 2013-12-23 00:12:18
PECL扩展不太可能与HHVM兼容,但“纯PHP”实现可能仍然有效。它会比用C写的东西慢,但在原始速度上,缓存的好处可能会超过任何缺点。
有人已经建议Drupal应该包含一个纯PHP实现,以防Memcache/Memcached扩展不可用。该建议包括一些替代方案的链接,因此请查看它们:
https://drupal.org/node/1999804
我快速浏览了一下the first link,不幸的是,其方法和常量似乎与PECL扩展不是100%兼容。但是您可以扩展类,添加一些缺少的常量,并更改参数的顺序以匹配PECL扩展的方法。
https://stackoverflow.com/questions/19594859
复制相似问题