태그 보관물: php

php

memcache.so의 문제 로컬 서버에서 Memcached

다른 사람이 만든 사이트를 시작하라는 요청을 받았습니다. 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 버전 5.3.8, Memcached 버전 1.4.13 및 Memcache PHP 플러그인 버전 3.0.6을 실행하고 있습니다.

누구든지 내가 어떻게 해결할 수 있는지 알고 있습니까?

감사!



답변

David이 주석에서 언급했듯이 memcache 자체가 아닌 memcache 플러그인을 빌드 할 때 다음 configure과 같이 실행을 추가해야합니다 .

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

그것은 나를 위해 완벽하게 작동했습니다.


답변

memcache.so가 실제로 연결되어 있는지 확인하는 첫 번째 단계로 제안합니다. Linux에서는을 사용 ldd하고 OSX에서는 otool -LIIRC 여야합니다 . 플러그인이 시스템의 여러 memcache 라이브러리 중 하나 또는 호환되지 않는 버전 중 하나를 보유하고있는 것 같습니다.


답변

부록-엘 캐피 탄, php56, php56-memcache 3.0.8

David Schwartz와 CourtDemone의 답변을 읽은 후에도 homebrew 공식을 편집하는 방법에 대한 SO 에 대한 이 답변을 읽을 때까지 나는 그것을 얻지 못했습니다 .

brew edit php56-memcache다음 줄 을 실행 하여 붙여 넣어 수식에 다음을 추가했습니다 .

   .  20     safe_phpize
   .  21
   +  22     ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.11'
   +  23     ENV['CFLAGS'] = '-fgnu89-inline'
   +  24     ENV['LDFLAGS'] = '-fgnu89-inline'
   +  25     ENV['CXXFLAGS'] = '-fgnu89-inline'
   +  26
   .  27     system "./configure", "--prefix=#{prefix}",
   .  28                           phpconfig
   .  29     system "make"


답변