Mise à jour d’eAccelerator : recompilation pour une nouvelle version de PHP
Dans ma série d’articles sur l’optimisation et l’accélération de WordPress, j’ai souligné les gains de performance obtenus en installant le compilateur d’opcode eAccelerator. Par ailleurs, dans mon tutoriel résumant la configuration rapide d’un serveur LAMP type OVH/Kimsufi, j’ai détaillé l’installation d’eAccelerator. Sur une installation régulièrement mise à jour de GNU/Linux (Debian par exemple), il faut recompiler le moduile eAccelerator avec chaque mise à jour du PHP. Voici un guide détaillé pas-à-pas sur cette procédure.
Comment savoir que eAccelerator n’est plus à jour ?
Dès que la version compilée du module eAccelerator ne correspond plus à votre environnement, votre fichier d’erreurs Apache2 va contenir des messages de mise en garde. Pour vérifier, vous pouvez redémarrer apache :
sudo /etc/init.d/apache2 restart
Puis regarder la fin de votre fichier de log d’erreur Apache :
tail /var/log/apache2/error.log
Si vous voyez des messages de ce type :
…c’est que eAccelerator ne se lance plus au démarrage d’Apache (ce qui peut par ailleurs causer une élévation de la charge sur votre serveur et tous les désagréments qui s’y adjoignent tels que saturations de la mémoire, plantages intempestifs du serveur, ralentissement des performances, etc. : dans les faits, vous ne bénéficiez plus du cache d’opcode, et le PHP doit donc à nouveau interpréter puis compiler un à un tous vos scripts à chaque appel de page !)
Mise à jour de GNU/Linux
Dans un premier temps, il faut toujours s’assurer que l’ensemble de la configuration est à jour, afin notamment de bénéficier de la dernière version stable de PHP mais aussi des fichiers de headers (packages .devel) nécessaires à la compilation. Voici la suite d’instruction a éxécuter avec des droits root (d’où l’utilisation systématique de sudo, car je pars du principe que vous n’êtes pas connecté à votre serveur en root !)
sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude full-upgrade
Récupération de la dernière version des bibliothèques eAccelerator
Rendez-vous sur le site de téléchargement des sources de eAccelerator pour vérifier si une nouvelle version est disponible :
http://bart.eaccelerator.net/source/
Si une version plus récente que celle que vous utilisez est disponible, téléchargez là depuis la ligne de commande. Par exemple :
cd
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
Configurez, re-compilez et installez eAccelerator
- Décompactez l’archive contenant le code source
tar -jxvf eaccelerator-0.9.6.1.tar.bz2
- Déplacez-vous dans le dossier contenant les sources
cd eaccelerator-0.9.6.1/
- Préparez l’environnement de compilation d’extension PHP avec phpize
phpize
- Nettoyez l’arborescence de compilation
make clean
- Lancez l’utilitaire de configuration
./configure -enable-eaccelerator=shared
- Lancez la compilation
make
- Faites l’installation (vous devez être root)
sudo make install
- Lancez le test
make test
- Relancez Apache
sudo /etc/init.d/apache2 restart
Vérifiez que tout fonctionne
Connectez-vous à vos sites avec votre navigateur web pour vérifier que le php fonctionne correctement. Vérifiez aussi dans votre log d’erreur Apache que le message d’erreur “This build of “eAccelerator” was compiled for PHP version … Rebuild it for your PHP version … or download precompiled binaries.” n’apparaît plus.