enchufado
   RSS
#
Poner memcache en PHP (5.2.0) (Programación) 2007-02-11 16:00:05

No voy a explicar qué es memcache porque no es el propósito. Quien lea esto ya sabrá de qué va el asunto, o puede informarse aquí (site de PHP) o aquí (site de PECL). En realidad esto es sólo un tip para aquellos que se hayan encontrado en la misma situación que un servidor al tratar de poner memcache en PHP (con un kernel GNU/Linux 2.6 y Php 5.2.0 en una Debian estable, si bien las versiones se ponen únicamente como referencia temporal).

Resulta que uno pone el --enable-memcache de rigor al compilar Php y, pesé a tener el demonio memcached instalado e iniciado, la cosa no funciona. El phpinfo() muestra que efectivamente el configure recibió esa opción, pero no aparece la sección de memcache (con sus variables/constantes) por ningún lado. Efectivamente, al intentar usar sus funciones, no funciona. A parte de memcached, zlib es requerido para la compresión de la información a ser cacheada (o eso dicen, ya que mobius me comenta que no es necesario), pero el problema no viene de ahí, puesto que esa librería está instalada.

Como compilarlo built-in parece ser un misterio, se opta por la vía extensión. Nos bajamos la última versión y las instrucciones brillan por su ausencia (no hay INSTALL y el README es poco informativo).

Las cosas no se pueden hacer con prisa. En una parte del manual de PHP se nos dice cómo instalar extensiones PECL, en mi caso, con phpize. Aunque hay otros 2 modos de hacerlo: con PEAR (también como extensión) y estáticamente (built-in).

¿Cómo hacer el asunto del phpize? Como dice en el enlace que os he puesto antes:

$ cd dir_extensión
$ phpize
$ ./configure
$ make
# make install

El phpize crea el configure, y las demás intrucciones son las corrientes: lo ejecuta (busca que tengamos todo lo necesario para la compilación), compila el módulo y lo instala en la ubicación dónde Php busca los módulos (aquella que le indique el php.ini).

Ya sólo tenemos que reiniciar nuestro webserver para apreciar que ahora ya se muestra en el phpinfo() la sección correspondiente a memcache.


Comentarios (7)


Volver al indice

login, admin, form, register