Configuration de la mémoire mise en cache sur Ubuntu
Cette section fournit des instructions pour installer memcached sur Ubuntu.
Comme PHP ne prend pas en charge le memcache, vous devez installer une extension pour que PHP l’utilise. Deux extensions PHP sont disponibles et il est important de décoder laquelle utiliser :
-
memcache
(no d) : extension plus ancienne mais populaire qui n’est pas gérée régulièrement.
L'extensionmemcache
actuellement ne fonctionne pas avec PHP 7. Voir la documentation PHP pour memcache.Le nom exact est
php5-memcache
pour Ubuntu. -
memcached
(avec und
) : extension plus récente et plus gérée compatible avec PHP 7. Voir la documentation PHP pour memcached.Le nom exact est
php5-memcached
pour Ubuntu.
Installation et configuration de la mémoire mise en cache sur Ubuntu
Pour installer et configurer la mémoire mise en cache sur Ubuntu :
-
En tant qu’utilisateur disposant de droits
root
, saisissez la commande suivante :code language-bash apt-get -y update
code language-bash apt-get -y install php5-memcached memcached
-
Modifiez le paramètre de configuration de la mémoire mise en cache pour
CACHESIZE
et-l
:-
Ouvrez
/etc/memcached.conf
dans 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.1
oulocalhost
-
Enregistrez vos modifications dans
memcached.conf
et quittez l’éditeur de texte. -
Redémarrez le memcached.
code language-bash service memcached restart
-
-
Redémarrez votre serveur web.
Pour Apache,
service apache2 restart
-
Passez à la section suivante.
Vérifier le fonctionnement de la mémoire mise en cache avant l’installation du Magento
Adobe recommande de tester la mémoire mise en cache pour s’assurer qu’elle fonctionne avant d’installer Commerce. Cette opération ne prend que quelques minutes et peut simplifier ultérieurement le dépannage.
Vérifier que la mémoire 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.php
dans la 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 la mémoire mise en cache s’affiche comme suit :
Vérifiez que vous utilisez la version 3.0.5 ou ultérieure de la mémoire cache.
Si le message mis en cache 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 la mémoire mise en cache peut stocker et récupérer les données du cache.
Pour plus d’informations sur ce test, consultez le tutoriel Installation et utilisation de Memcache sur Ubuntu.
Créez cache-test.php
dans le 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 du memcache. <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 passe à 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