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.







le 6 September 2010 à 16:27 h
[...] La mise à jour et la maintenance des versions de eAccelerator en fonction de l’évolution du …. [...]
le 1 October 2010 à 10:47 h
[...] Upgrade and maintenance of eAccelerator version according to system evolution is explained in this o… (in French right now). [...]
le 20 May 2011 à 12:04 h
[...] Se référer à mon guide de configuration pas-à-pas d’un serveur LAMP sous Debian 6 pour toute la configuration du système depuis le partitionnement jusqu’à l’installation des services de monitoring. Pour simplifier la suite de la configuration, l’installation d’Apache, du module PHP5 pour Apache et du cache d’opcode eAccelerator doit avoir été faite préalablement, et testée. Mon guide de compilation et mise à jour d’eAccelerator est ici. [...]
le 20 May 2011 à 16:18 h
[...] comment monter une configuration LAMP sous Debian à partir de zéro, incluant eAccelerator. Enfin, cet article explique comment re-compiler eAccelerator pour l’installer ou le mettre à jour. Je vais maintenant aborder le sujet de l’optimisation de l’utilisation de la mémoire [...]
le 20 May 2011 à 21:30 h
[...] 5 Mise à jour d’eAccelerator : recompilation pour une nouvelle version de PHP | Yann "Bug&… dit : le 19 May 2011 à 23:55 [...]
le 11 March 2013 à 15:06 h
Bonjour, suite à une mise à jour de ma config debian (cette nuit) j’ai rencontré une erreur avec eaccelerator.
Ce midi, le serveur était planté, j’ai du le relancer matériellement et recompiler eaccelerator comme vous l’avez indiqué.
Je n’ai rencontré aussi problème, (si ce n’est que quand j’ai saisi “Make clean” j’ai eu en retour “-bash: Make : commande introuvable”)
En revanche, j’ai toujours l’impression que quelque chose ne fonctionne pas correctement, est ce que cela pourrait provenir de la commande make introuvable (tout le reste s’est correctement déroulé)
Merci d’avance
le 11 March 2013 à 15:18 h
@Tommyknocker: la majuscule à make était une faute de frappe. Je l’ai corrigée. Le problème n’est pas là. Mais qu’est-ce qui vous fait penser que ça ne fonctionne pas correctement ?
le 11 March 2013 à 15:23 h
Merci pour la réponse rapide
Je n’ai pas d’affichage, le serveur ne répond pas (110 Connection timed out), je suis derrière une ipfailover.
De plus, j’ai mis en place en grande partie votre procédure de sécurisation et toutes les demi heures, je reçois un message qui m’indique “[eAccelerator] This build of “eAccelerator” was compiled for PHP version 5.3.3-7+squeeze14. Rebuild it for your PHP version (5.3.3-7+squeeze15) or download precompiled binaries.”
Je viens de rebooter la machine mais rien n’y fait
le 11 March 2013 à 15:29 h
Le message est clair, il faut recompiler eAccelerator pour votre nouvelle version de PHP
donc je pense qu’il faut que vous re-fassiez la manipulation décrite ci-dessus.
le 11 March 2013 à 16:22 h
Je n’ai plus de mail d’erreur toute les demi heure.
Par contre, je n’ai toujours pas d’affichage, en revanche, j’ai du mieux en pointant directement sur le serveur via son ip (mais comme la plupart des fichiers repointent sur le domaine, c’est normal que j’ai des erreurs à l’affichage)…
Je me demande de plus en plus si le soucis vient vraiment de la mise à jour que j’ai faite cette nuit puisqu’il me semble que tout est OK concernant eaccelerator et j’en profite pour vous remercier pour vos articles qui m’ont beaucoup apporté.