Installation · 4 min read · Jan 02, 2026

Installation de memcached et du module PHP5 memcache sur Debian Etch (Apache2)

Installation de memcached et du module PHP5 memcache sur Debian Etch (Apache2)

Version 1.0
Auteur : Falko Timme

Ce guide explique comment installer memcached et le module PHP5 memcache sur un système Debian Etch avec Apache2. memcached est un démon qui peut stocker des objets dans la mémoire du système (par exemple, les résultats des requêtes de base de données) ce qui peut considérablement accélérer votre site web. Vous pouvez utiliser memcached sur un réseau (c’est-à-dire installer votre application web sur un serveur et memcached sur un autre serveur), mais généralement, vous installez les deux sur un seul serveur pour éviter la surcharge réseau.

Il convient de noter que memcached n’est pas une solution prête à l’emploi pour accélérer vos applications web. En général, vous devez ajuster vos scripts (PHP, Perl, etc.) pour travailler avec memcached, ce qui nécessite un peu de travail.

Ce document est fourni sans aucune garantie ! Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

J’ai testé cela sur un serveur Debian Etch avec l’adresse IP 192.168.0.100 où Apache2 et PHP5 sont déjà installés et fonctionnent. J’utiliserai le répertoire racine par défaut d’Apache /var/www dans ce tutoriel à des fins de démonstration. Bien sûr, vous pouvez utiliser n’importe quel autre vhost, mais vous devrez peut-être ajuster le chemin vers le fichier info.php que j’utilise dans ce tutoriel.

2 Vérification de l’état actuel de PHP5

Tout d’abord, avant d’installer memcached, découvrons notre installation de PHP5. Pour ce faire, nous créons le fichier info.php dans notre répertoire racine /var/www :

vi /var/www/info.php

| |

Ensuite, nous appelons ce fichier dans un navigateur : http://192.168.0.100/info.php

Comme vous le voyez, nous avons PHP 5.2.0 installé…

… mais le module PHP5 memcache n’est mentionné nulle part sur la page :

3 Installation de memcached et du module PHP5 memcache

memcached et le module PHP5 memcache sont disponibles sous forme de paquets pour Debian Etch, nous pouvons donc les installer comme suit :

apt-get install memcached php5-memcache

Après l’installation, memcached devrait déjà être en cours d’exécution. Vous pouvez vérifier cela en tapant

netstat -tap | grep memcached

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

Comme vous le voyez, memcached fonctionne sur le port 11211 (le port par défaut de memcached), et il écoute sur toutes les interfaces du système. Comme memcached n’a pas de mécanismes d’authentification intégrés (afin de ne pas compromettre la vitesse), cela signifie que n’importe qui peut s’y connecter de l’extérieur et l’utiliser. Pour éviter cela, vous pouvez soit fermer le port 11211 dans votre pare-feu, soit configurer memcached pour écouter uniquement sur localhost. Je vais utiliser cette dernière méthode ici.

Pour ce faire, ouvrez la configuration de memcached qui est stockée dans /etc/memcached.conf :

vi /etc/memcached.conf

Ajoutez -l 127.0.0.1 à la configuration (vous pouvez également ajuster les autres paramètres si vous le souhaitez - le fichier contient des explications pour chaque paramètre) :

| [...] # Spécifiez quelle adresse IP écouter. La valeur par défaut est d'écouter toutes les adresses IP # Ce paramètre est l'une des seules mesures de sécurité que memcached a, alors assurez-vous # qu'il écoute sur une interface protégée par un pare-feu. # -l 12.34.56.78 -l 127.0.0.1 [...] |

Redémarrez memcached…

/etc/init.d/memcached restart

… et exécutez

netstat -tap | grep memcached

à nouveau. Comme vous le voyez, memcached écoute maintenant uniquement sur localhost :

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

Ensuite, nous redémarrons Apache afin que notre nouvelle configuration PHP prenne effet :

/etc/init.d/apache2 restart

Ensuite, ouvrez à nouveau info.php dans un navigateur : http://192.168.0.100/info.php

Vous devriez maintenant voir memcache mentionné sur la page, ce qui signifie qu’il a été intégré avec succès et fonctionne comme prévu :

Pour utiliser le module PHP memcache avec vos applications PHP, vous devriez consulter les exemples de memcache et la référence des fonctions memcache.

Je vais utiliser le script d’exemple de http://dk.php.net/manual/en/memcache.examples.php et le sauvegarder dans le fichier /var/www/memcachetest.php :

vi /var/www/memcachetest.php

| connect('localhost', 11211) or die ("Impossible de se connecter"); $version = $memcache->getVersion(); echo "Version du serveur : ".$version."
"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Échec de l'enregistrement des données sur le serveur"); echo "Stocker des données dans le cache (les données expireront dans 10 secondes)
"; $get_result = $memcache->get('key'); echo "Données du cache :
"; var_dump($get_result); ?>
|

Ensuite, j’appelle ce fichier dans un navigateur (http://192.168.0.100/memcachetest.php). Si tout se passe bien, la sortie devrait ressembler à ceci :

4 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.