¿Cómo instalar Memcache en Mavericks? (MÁMPARA)

Tengo MAMP en mi máquina y me gustaría instalar Memcache para php, porque uno de mis proyectos arroja errores como Fatal error: Class 'Memcache' not found.

Instalé X-Code desde la tienda de aplicaciones y libevent , memcached , libmemcached con homebrew .

Entonces..

cd /tmp; pecl download memcached
gzip -d < memcached-2.2.0.tgz | tar -xvf -
cd memcached-2.2.0; phpize
./configure; make
sudo make install

Instalación de extensiones compartidas: /usr/lib/php/extensions/no-debug-non-zts-20100525/

Después de eso, copié memcached.so y memcache.so en mi extension_folder:

/Aplicaciones/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/

y agregué extension = memcached.so a mi php.ini.

Sigo recibiendo un error fatal... ¿cuál es el problema?

Respuestas (2)

Parece que hay 2 extensiones de Memcache. Hay memcached y memcache, el último parece que ya no se mantiene estable desde 2012.

Parece que su código depende de Memcache ya que está usando brew, podría hacer lo siguiente:

brew install php55-memcache

o

pecl install 

Instale brew emitiendo:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Mira las fechas mencionadas en la estructura de carpetas. Esas fechas son realmente la versión API. La API de 2010 no es compatible con la API de 2012.

Deberá compilar la extensión PHP Memcache usando phpize, etc. de la versión real de PHP que va a usar. Parece que tiene dos instalaciones de PHP diferentes: una en /usr/lib/php y otra en /Applications/MAMP/.

Probé con /Applications/MAMP/bin/php/php5.5.10/bin/phpize, pero el problema es el mismo. También agrego las líneas extension=memcached.so y extension=memcache.so a php ini, y copio estos archivos a extension_dir. Memcached se ejecuta en segundo plano.
No copie las extensiones del directorio con la fecha diferente, nunca funcionará. La forma más sencilla de proceder es eliminar el directorio que tiene con el código de Memcache de PECL y comenzar de cero utilizando el phpize correcto. Si una vez ha "contaminado" el directorio con la información incorrecta, tendrá que "limpiar" para limpiar todo; la forma más fácil de asegurarse de hacerlo, si no conoce la programación y los archivos MAKE, es simplemente elimine la carpeta y comience de nuevo.