EAccelerator

Un article de WindowsLinux.net - Astuces pour Windows et Linux !.

Sommaire

Définition

eAccelerator est un accelerateur PHP gratuit et open-source. Les performances des scripts PHP sont améliorés par une mise en cache du contenu dynamique une fois qu'ils sont compilés.

Ce programme optimise l'exécution des scripts PHP, réduit la charge du serveur et améliore la vitesse d'exécution du code entre 1 à 10 fois.

Installation

Debian Etch

phpinfo.php

Créer un fichier nommé : phpinfo.php , contenant le code suivant :

<?
phpinfo();
?>

Ouvrez dans votre navigateur préféré le fichié créé : http://adresse/repertoire/phpinfo.php

Sans eAccelerator, les lignes suivantes sont affichées :

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies

Installer eAccelerator

Installer les sources de php5 et les utilitaires pour compiler les sources d'eAccelerator :

aptitude install build-essential php5-dev

Changer de répertoire :

cd /tmp

Télécharger les sources :

wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2

Décompresser : tar xvfj eaccelerator-0.9.5.2.tar.bz2 Aller dans le répertoire créé : cd eaccelerator-0.9.5.2 Exécuter l'installation : phpize ./configure make make install

Note : il se peut que ./configure ne fonctionne pas correctement, et retourne l'erreur :

"You need to pass the user id eaccelerator will be running under when using sysvipc semaphores"

Il suffit d'exécuter ./configure avec l'option --with-eaccelerator-userid=70

./configure --with-eaccelerator-userid=70

Configurer eAccelerator

Sous Debian Etch, les fichiers de configuration des modules de PHP5 sont stockés dans le répertoire /etc/php5/conf.d . Ce répertoire est cité dans le fichier de configuration /etc/php5/apache2/php.ini . Tous les fichiers enregistrés dans le répertoire /etc/php5/conf.d sont donc lus quand Apache démarre ou redémarre.

Il nous faut donc créer le fichier /etc/php5/conf.d/eaccelerator.ini :

vi  /etc/php5/conf.d/eaccelerator.ini

Insérez ces données :

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Vous pouvez avoir plus d'informations sur les réglages possibles en consultant cette page : http://www.eaccelerator.net/wiki/Settings


Suite aux informations entrées dans ce fichier, nous devons créer certains répertoires, et leur donner certains droits :

mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator


Il ne reste plus qu'a redémarrer Apache :

/etc/init.d/apache2 restart

Vérifier le bon fonctionnement

Affichez votre fichier "phpinfo.php", la ligne suivante doit être affichée :

with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator