与memcache.so的麻烦

Modified on: Fri, 31 May 2019 13:40:03 +0800

我被要求启动其他人建立的网站。这是一个需要Memcached运行的Wordpress商店网站,我一直遇到麻烦,我的本地服务器上运行了Memcached和memcache php插件。在安装memcached和memcache PHP插件之前,我会收到此错误:

Fatal error: Class 'Memcache' not found in [Path]wp-content/object-cache.php on line 350

现在我已经安装了memcached并安装了memcache PHP插件(通过Homebrew),我收到了“No data received”页面,并在我的Apache错误日志中出现此错误:

dyld: lazy symbol binding failed: Symbol not found: _mmc_queue_pop
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
  Expected in: flat namespace

dyld: Symbol not found: _mmc_queue_pop
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
  Expected in: flat namespace

[Sat May 05 16:38:27 2012] [notice] child pid 26491 exit signal Trace/BPT trap (5)

我尝试在Activity Monitor中查找pid无效,每次尝试加载页面时都会更改。另外,我无法在任何地方找到关于_mmc_queue_pop的任何内容。

我正在运行Mac OSX Lion,PHP ver 5.3.8,Memcached ver 1.4.13和Memcache PHP plugin ver 3.0.6。

有谁知道如何解决这个问题?

谢谢!

最佳答案

正如大卫在评论中提到的,在构建memcache插件时,不是memcached本身,你必须像这样添加run configure

MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS='-fgnu89-inline' LDFLAGS='-fgnu89-inline' CXXFLAGS='-fgnu89-inline' ./configure

这对我很有用。


相关问答

添加新评论