Instalación PHP · 3 min read · Jan 02, 2026
Instalando memcached y el módulo PHP5 memcache en Debian Etch (Apache2)
Instalando memcached y el módulo PHP5 memcache en Debian Etch (Apache2)
Versión 1.0
Autor: Falko Timme
Esta guía explica cómo instalar memcached y el módulo PHP5 memcache en un sistema Debian Etch con Apache2. memcached es un demonio que puede almacenar objetos en la memoria del sistema (por ejemplo, resultados de consultas a la base de datos) lo que puede acelerar enormemente tu sitio web. Puedes usar memcached a través de una red (es decir, instalar tu aplicación web en un servidor y memcached en otro servidor), pero generalmente instalas ambos en un solo servidor para evitar la sobrecarga de red.
Cabe señalar que memcached no es una solución lista para usar para acelerar tus aplicaciones web. Típicamente, tienes que ajustar tus scripts (PHP, Perl, etc.) para trabajar con memcached, por lo que esto requiere un poco de trabajo.
¡Este documento se proporciona sin garantía de ningún tipo! No emito ninguna garantía de que esto funcionará para ti.
1 Nota Preliminar
He probado esto en un servidor Debian Etch con la dirección IP 192.168.0.100 donde Apache2 y PHP5 ya están instalados y funcionando. Usaré la raíz del documento por defecto de Apache /var/www en este tutorial con fines de demostración. Por supuesto, puedes usar cualquier otro vhost también, pero es posible que tengas que ajustar la ruta al archivo info.php que estoy usando en este tutorial.
2 Comprobando el Estado Actual de PHP5
Primero, antes de instalar memcached, averigüemos sobre nuestra instalación de PHP5. Para hacer esto, creamos el archivo info.php en nuestra raíz del documento /var/www:
vi /var/www/info.php| |
Después, llamamos a ese archivo en un navegador: http://192.168.0.100/info.php
Como ves, tenemos PHP 5.2.0 instalado…

… pero el módulo PHP5 memcache no se menciona en ninguna parte de la página:

3 Instalando memcached y el módulo PHP5 memcache
memcached y el módulo PHP5 memcache están disponibles como paquetes para Debian Etch, por lo que podemos instalarlos de la siguiente manera:
apt-get install memcached php5-memcacheDespués de la instalación, memcached ya debería estar en funcionamiento. Puedes verificar eso escribiendo
netstat -tap | grep memcachedserver1:~# netstat -tap | grep memcached
tcp 0 0 :11211 :* LISTEN 3053/memcached
server1:~#
Como ves, memcached está funcionando en el puerto 11211 (el puerto predeterminado de memcached), y está escuchando en todas las interfaces del sistema. Como memcached no tiene mecanismos de autenticación integrados (para no renunciar a la velocidad), esto significa que cualquiera puede conectarse a él desde afuera y usarlo. Para evitar esto, puedes cerrar el puerto 11211 en tu firewall, o puedes configurar memcached para que escuche solo en localhost. Usaré este último método aquí.
Para hacer esto, abre la configuración de memcached que se almacena en /etc/memcached.conf:
vi /etc/memcached.confAgrega -l 127.0.0.1 a la configuración (también puedes ajustar otras configuraciones si lo deseas - el archivo contiene explicaciones para cada configuración):
| [...] # Especifica en qué dirección IP escuchar. El valor predeterminado es escuchar en todas las direcciones IP # Este parámetro es una de las únicas medidas de seguridad que tiene memcached, así que asegúrate # de que está escuchando en una interfaz con firewall. # -l 12.34.56.78 -l 127.0.0.1 [...] |
Reinicia memcached…
/etc/init.d/memcached restart… y ejecuta
netstat -tap | grep memcachednuevamente. Como ves, memcached ahora está escuchando solo en localhost:
server1:~# netstat -tap | grep memcached
tcp 0 0 localhost.localdo:11211 : LISTEN 3092/memcached
server1:~#
Después, reiniciamos Apache para que nuestra nueva configuración de PHP surta efecto:
/etc/init.d/apache2 restartDespués, abre info.php nuevamente en un navegador: http://192.168.0.100/info.php
Ahora deberías ver memcache mencionado en la página, lo que significa que se ha integrado correctamente y está funcionando como se esperaba:

Para usar el módulo PHP memcache con tus aplicaciones PHP, deberías consultar los ejemplos de memcache y la referencia de funciones de memcache.
Usaré el script de ejemplo de http://dk.php.net/manual/en/memcache.examples.php y lo guardaré en el archivo /var/www/memcachetest.php:
vi /var/www/memcachetest.php| connect('localhost', 11211) or die ("No se pudo conectar"); $version = $memcache->getVersion(); echo "Versión del servidor: ".$version." |
"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Error al guardar datos en el servidor"); echo "Datos almacenados en la caché (los datos expirarán en 10 segundos)
"; $get_result = $memcache->get('key'); echo "Datos de la caché:
"; var_dump($get_result); ?>
Luego llamo a ese archivo en un navegador (http://192.168.0.100/memcachetest.php). Si todo va bien, la salida debería verse como sigue:

4 Enlaces
- memcached: http://www.danga.com/memcached
- PHP: http://www.php.net
- Apache: http://httpd.apache.org
- Debian: http://www.debian.org
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.