« Memcached » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 77 : | Ligne 77 : | ||
; apcu.enable=1 | ; apcu.enable=1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== ** Installer l’extension PHP Memcached via PECL** == | |||
Si tu veux la '''dernière version''' ou si ton système ne propose pas <code>php8.3-memcached</code> via APT, tu peux installer l’extension '''Memcached''' avec '''PECL''' : | |||
<syntaxhighlight lang="bash">sudo apt update | |||
sudo apt install php-pear php8.3-dev libmemcached-dev build-essential | |||
sudo pecl install memcached</syntaxhighlight> | |||
Pendant l’installation, PECL peut demander des options (compression, SASL). Tu peux laisser les valeurs par défaut si tu n’as pas besoin d’authentification. | |||
Ensuite, active l’extension dans PHP : | |||
<syntaxhighlight lang="bash">echo "extension=memcached.so" | sudo tee /etc/php/8.3/mods-available/memcached.ini | |||
sudo phpenmod memcached</syntaxhighlight> | |||
Redémarre PHP-FPM : | |||
<syntaxhighlight lang="bash">sudo systemctl restart php8.3-fpm</syntaxhighlight> | |||
Vérifie que l’extension est bien chargée : | |||
<syntaxhighlight lang="bash">php -m | grep memcached</syntaxhighlight> | |||
Tu dois voir <code>memcached</code>.<br /> | |||
Ou via <code>phpinfo()</code>, la section '''memcached support: enabled'''. | |||
----- | |||
=== '''Configurer MediaWiki avec PECL Memcached''' === | |||
Dans <code>LocalSettings.php</code>, utilise l’implémentation PECL : | |||
<syntaxhighlight lang="php">$wgMainCacheType = 'memcached-pecl'; // au lieu de CACHE_MEMCACHED | |||
$wgParserCacheType = 'memcached-pecl'; | |||
$wgMessageCacheType = 'memcached-pecl'; | |||
$wgSessionCacheType = 'memcached-pecl'; | |||
$wgMemCachedServers = [ '127.0.0.1:11211' ];</syntaxhighlight> | |||
<blockquote>'''Pourquoi ?'''<br /> | |||
<code>memcached-pecl</code> utilise la classe native '''Memcached''' (C), plus rapide et avec support SASL, compression, etc. | |||
</blockquote> | |||
[[Catégorie:Linux]] [[category:php]] | [[Catégorie:Linux]] [[category:php]] | ||
Version du 11 décembre 2025 à 11:42
Memcached est un système de cache en mémoire rapide et léger utilisé pour stocker temporairement des données (objets, résultats de requêtes, sessions) afin d’accélérer les applications web. Il fonctionne en RAM, est multi-thread, et permet à plusieurs processus ou serveurs d’accéder à un cache partagé.
Sur Debian, le paquet memcached installe le démon serveur, la configuration système, et des outils pour gérer le cache, tandis que l’extension PHP (php-memcached) permet aux applications PHP (comme MediaWiki) de l’utiliser facilement.
Installer et activer Memcached sur Debian/Ubuntu avec PHP 8.3-FPM pour MediaWiki.
1️⃣ Installer Memcached côté serveur
sudo apt update
sudo apt install memcached libmemcached-tools
Vérifier que le service est actif :
systemctl status memcached
Tu dois voir :
Active: active (running)
Pour démarrer/activer au boot :
sudo systemctl enable --now memcached
2️⃣ Installer l’extension PHP Memcached pour PHP 8.3
sudo apt install php8.3-memcached
Redémarre PHP-FPM pour que l’extension soit prise en compte :
sudo systemctl restart php8.3-fpm
Vérifie l’extension :
php -m | grep memcached
Tu dois obtenir :
memcached
Ou avec une page phpinfo() côté web, tu dois voir memcached support: enabled.
3️⃣ Configurer MediaWiki pour utiliser Memcached
Dans LocalSettings.php, remplace tes caches existants :
$wgMainCacheType = CACHE_MEMCACHED;
$wgParserCacheType = CACHE_MEMCACHED;
$wgMessageCacheType = CACHE_MEMCACHED;
$wgSessionCacheType = CACHE_MEMCACHED;
$wgMemCachedServers = [ '127.0.0.1:11211' ];
$wgUseFileCache = false; // inutile avec Memcached
4️⃣ Vérifier que Memcached fonctionne avec MediaWiki
- Crée une nouvelle page test
- Vérifie qu’elle est visible dans les catégories immédiatement après création
- Optionnel : purger les jobs pour être sûr que le parser cache est à jour :
php maintenance/runJobs.php --maxjobs=5000
5️⃣ Bonus : améliorer stabilité avec OPcache et APCu
Tu peux garder OPcache et APCu pour PHP, mais MediaWiki utilisera Memcached pour tout le cache partagé. Exemple :
$wgMainCacheType = CACHE_MEMCACHED; // partagé
$wgParserCacheType = CACHE_MEMCACHED; // partagé
$wgMessageCacheType = CACHE_MEMCACHED; // partagé
// côté PHP
; opcache.enable=1
; apcu.enable=1
** Installer l’extension PHP Memcached via PECL**
Si tu veux la dernière version ou si ton système ne propose pas php8.3-memcached via APT, tu peux installer l’extension Memcached avec PECL :
sudo apt update
sudo apt install php-pear php8.3-dev libmemcached-dev build-essential
sudo pecl install memcached
Pendant l’installation, PECL peut demander des options (compression, SASL). Tu peux laisser les valeurs par défaut si tu n’as pas besoin d’authentification.
Ensuite, active l’extension dans PHP :
echo "extension=memcached.so" | sudo tee /etc/php/8.3/mods-available/memcached.ini
sudo phpenmod memcached
Redémarre PHP-FPM :
sudo systemctl restart php8.3-fpm
Vérifie que l’extension est bien chargée :
php -m | grep memcached
Tu dois voir memcached.
Ou via phpinfo(), la section memcached support: enabled.
Configurer MediaWiki avec PECL Memcached
Dans LocalSettings.php, utilise l’implémentation PECL :
$wgMainCacheType = 'memcached-pecl'; // au lieu de CACHE_MEMCACHED
$wgParserCacheType = 'memcached-pecl';
$wgMessageCacheType = 'memcached-pecl';
$wgSessionCacheType = 'memcached-pecl';
$wgMemCachedServers = [ '127.0.0.1:11211' ];
Pourquoi ?
memcached-peclutilise la classe native Memcached (C), plus rapide et avec support SASL, compression, etc.