Instalação PHP · 3 min read · Jan 02, 2026

Instalando memcached e o Módulo PHP5 memcache no Debian Etch (Apache2)

Instalando memcached e o Módulo PHP5 memcache no Debian Etch (Apache2)

Versão 1.0
Autor: Falko Timme

Este guia explica como instalar memcached e o módulo PHP5 memcache em um sistema Debian Etch com Apache2. memcached é um daemon que pode armazenar objetos na memória do sistema (por exemplo, resultados de consultas ao banco de dados) que podem acelerar muito o seu site. Você pode usar memcached em uma rede (ou seja, instalar sua aplicação web em um servidor e memcached em outro servidor), mas geralmente você instala ambos em um servidor para evitar a sobrecarga de rede.

Deve-se notar que o memcached não é uma solução pronta para acelerar suas aplicações web. Normalmente, você precisa ajustar seus scripts (PHP, Perl, etc.) para trabalhar com memcached, então isso requer um pouco de trabalho.

Este documento vem sem garantia de qualquer tipo! Eu não emito nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Eu testei isso em um servidor Debian Etch com o endereço IP 192.168.0.100 onde Apache2 e PHP5 já estão instalados e funcionando. Usarei o diretório raiz de documentos padrão do Apache /var/www neste tutorial para fins de demonstração. Claro, você pode usar qualquer outro vhost também, mas pode ser necessário ajustar o caminho para o arquivo info.php que estou usando neste tutorial.

2 Verificando o Estado Atual do PHP5

Primeiro, antes de instalarmos o memcached, vamos descobrir sobre nossa instalação do PHP5. Para isso, criamos o arquivo info.php em nosso diretório raiz /var/www:

vi /var/www/info.php

| |

Depois, chamamos esse arquivo em um navegador: http://192.168.0.100/info.php

Como você pode ver, temos o PHP 5.2.0 instalado…

… mas o módulo PHP5 memcache não é mencionado em nenhum lugar na página:

3 Instalando memcached e o Módulo PHP5 memcache

memcached e o módulo PHP5 memcache estão disponíveis como pacotes para Debian Etch, então podemos instalá-los da seguinte forma:

apt-get install memcached php5-memcache

Após a instalação, o memcached já deve estar em execução. Você pode verificar isso digitando

netstat -tap | grep memcached

server1:~# netstat -tap | grep memcached
tcp 0 0 :11211 :* LISTEN 3053/memcached
server1:~#

Como você pode ver, o memcached está rodando na porta 11211 (a porta padrão do memcached), e está ouvindo em todas as interfaces do sistema. Como o memcached não possui mecanismos de autenticação embutidos (para não comprometer a velocidade), isso significa que qualquer um pode se conectar a ele de fora e usá-lo. Para evitar isso, você pode fechar a porta 11211 em seu firewall, ou configurar o memcached para ouvir apenas no localhost. Eu usarei o último método aqui.

Para fazer isso, abra a configuração do memcached que está armazenada em /etc/memcached.conf:

vi /etc/memcached.conf

Adicione -l 127.0.0.1 à configuração (você também pode ajustar as outras configurações se desejar - o arquivo contém explicações para cada configuração):

| [...] # Especifique qual endereço IP ouvir. O padrão é ouvir em todos os endereços IP # Este parâmetro é uma das únicas medidas de segurança que o memcached possui, então certifique-se # de que está ouvindo em uma interface com firewall. # -l 12.34.56.78 -l 127.0.0.1 [...] |

Reinicie o memcached…

/etc/init.d/memcached restart

… e execute

netstat -tap | grep memcached

novamente. Como você pode ver, o memcached agora está ouvindo apenas no localhost:

server1:~# netstat -tap | grep memcached
tcp 0 0 localhost.localdo:11211 : LISTEN 3092/memcached
server1:~#

Depois, reiniciamos o Apache para que nossa nova configuração do PHP entre em vigor:

/etc/init.d/apache2 restart

Depois, abra o info.php novamente em um navegador: http://192.168.0.100/info.php

Agora você deve ver o memcache mencionado na página, o que significa que ele foi integrado com sucesso e está funcionando como esperado:

Para usar o módulo PHP memcache com suas aplicações PHP, você deve conferir os exemplos de memcache e a referência de funções do memcache.

Eu usarei o script de exemplo de http://dk.php.net/manual/en/memcache.examples.php e salvá-lo no arquivo /var/www/memcachetest.php:

vi /var/www/memcachetest.php

| connect('localhost', 11211) or die ("Não foi possível conectar"); $version = $memcache->getVersion(); echo "Versão do servidor: ".$version."
\n"; $tmp_object = new stdClass; $tmp_object->str_attr = 'teste'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Falha ao salvar dados no servidor"); echo "Armazenar dados no cache (os dados expirarão em 10 segundos)
\n"; $get_result = $memcache->get('key'); echo "Dados do cache:
\n"; var_dump($get_result); ?>
|

Então eu chamo esse arquivo em um navegador (http://192.168.0.100/memcachetest.php). Se tudo correr bem, a saída deve ser a seguinte:

4 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.