Configurer memcached sur Ubuntu
Cette section fournit des instructions pour installer memcached sur Ubuntu.
PHP n'ayant pas de support natif pour memcache, vous devez installer une extension pour que PHP puisse l'utiliser. Il y a deux extensions PHP disponibles et il est important de décoder laquelle utiliser :
-
memcache(pas d), une extension plus ancienne mais populaire qui n’est pas entretenue régulièrement.
L'extensionmemcacheactuellement ne fonctionne pas avec PHP 7. Voir Documentation PHP pour memcache.Le nom exact est
php5-memcachepour Ubuntu. -
memcached(avec und) - une extension plus récente et maintenue compatible avec PHP 7. Voir Documentation PHP pour memcached.Le nom exact est
php5-memcachedpour Ubuntu.
Installer et configurer memcached sur Ubuntu
Pour installer et configurer memcached sur Ubuntu :
-
En tant qu’utilisateur disposant de droits d’
root, saisissez la commande suivante :code language-bash apt-get -y updatecode language-bash apt-get -y install php5-memcached memcached -
Modifiez le paramètre de configuration memcached pour
CACHESIZEet-l:-
Ouvrez
/etc/memcached.confdans un éditeur de texte. -
Recherchez le paramètre
-m. -
Remplacez sa valeur par au moins
1GB -
Recherchez le paramètre
-l. -
Remplacez sa valeur par
127.0.0.1oulocalhost -
Enregistrez vos modifications dans
memcached.confet quittez l’éditeur de texte. -
Redémarrez memcached.
code language-bash service memcached restart
-
-
Redémarrez votre serveur web.
Pour Apache,
service apache2 restart -
Passez à la section suivante.
Vérification du fonctionnement de la mémoire cache avant l’installation de Magento
Adobe recommande de tester memcached pour s’assurer qu’il fonctionne avant d’installer Commerce. Cela ne prend que quelques minutes et peut simplifier le dépannage ultérieurement.
Vérifiez que la mise en cache est reconnue par le serveur web
Pour vérifier que memcached est reconnu par le serveur web :
-
Créez un fichier
phpinfo.phpdans le fichier docroot du serveur web :code language-php <?php // Show all information, defaults to INFO_ALL phpinfo(); -
Accédez à cette page dans votre navigateur web. Par exemple :
code language-http http://192.0.2.1/phpinfo.php -
Assurez-vous que memcached affiche les informations suivantes :
Vérifiez que vous utilisez memcached version 3.0.5 ou ultérieure.
Si memcached ne s’affiche pas, redémarrez le serveur web et actualisez la page du navigateur. S’il ne s’affiche toujours pas, vérifiez que vous avez installé l’extension
php-pecl-memcached.
Vérifier que les données mises en cache peuvent être mises en cache
Ce test utilise un script PHP pour vérifier que memcached peut stocker et récupérer les données du cache.
Pour plus d'informations sur ce test, voir Tutoriel Installation et utilisation de Memcache sur Ubuntu.
Créez des cache-test.php dans la racine docroot du serveur web avec les contenus suivants :
$meminstance = new Memcached();
$meminstance->addServer("<memcached hostname or ip>", <memcached port>);
$result = $meminstance->get("test");
if ($result) {
echo $result;
} else {
echo "No matching key found. Refresh the browser to add it!";
$meminstance->set("test", "Successfully retrieved the data!") or die("Could not save anything to memcached...");
}
Où <memcached hostname or ip> est localhost, 127.0.0.1 ou le nom d’hôte ou l’adresse IP memcache. Le <memcached port> est le port d’écoute ; par défaut, 11211.
Accédez à cette page dans un navigateur web. Par exemple :
http://192.0.2.1/cache-test.php
La première fois que vous accédez à la page , les éléments suivants s’affichent : No matching key found. Refresh the browser to add it!
Actualisez le navigateur. Le message devient Successfully retrieved the data!
Enfin, vous pouvez afficher les clés memcache à l'aide de Telnet :
telnet localhost <memcache port>
À l’invite, saisissez .
stats items
Le résultat est similaire à ce qui suit :
STAT items:2:number 1
STAT items:2:age 106
STAT items:2:evicted 0
STAT items:2:evicted_nonzero 0
STAT items:2:evicted_time 0
STAT items:2:outofmemory 0
STAT items:2:tailrepairs 0
STAT items:2:reclaimed 0
STAT items:2:expired_unfetched 0
STAT items:2:evicted_unfetched 0
Videz le stockage en mémoire cache et quittez Telnet :
flush_all
quit
Informations supplémentaires sur le test Telnet