Le langage PHP est un langage interprété. Celà signifie qu’à chaque appel d’un fichier .php, le moteur PHP est obligé de compiler le script avant d’en envoyer le résultat à l’utilisateur. En cas d’affluence sur votre site, chaque script peut être interprêté plusieurs fois par minute, augmentant ainsi la charge de votre système.
Installation
apt-get install php5-dev
Il convient ensuite de télécharger eaccelerator sur votre système
cd /tmp wget http://freefr.dl.sourceforge.net/project/eaccelerator/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.zip unzip eaccelerator-0.9.6.1.zip cd eaccelerator-0.9.6.1
On peut ensuite le compiler comme on procède habituellement
export PHP_PREFIX="/usr" $PHP_PREFIX/bin/phpize ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config make make install
Intégration dans PHP
Une fois en place sur votre système, il est nécessaire de demander au moteur PHP de le prendre en compte.
La première étape consiste à créer les répertoires nécessaires pour stocker le cache des fichiers
mkdir /var/cache/eaccelerator chmod 0777 /var/cache/eaccelerator
Vous pouvez ensuite créer le fichier de configuration de eaccelerator à proprement parler, que nous nommerons /etc/php5/apache2/conf.d/eaccelerator.ini.
extension="eaccelerator.so" eaccelerator.shm_size="32" 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="6"
Les valeurs présentées ici sont données à titre d’exemple et devront être adaptées à votre infrastructure.
La configuration est prête, il ne reste qu’à redémarrer le serveur apache pour bénéficier de la puissance de php eaccelerator.
/etc/init.d/apache2 reload
Alternatives
Sachez qu’il existe d’autres systèmes de cache équivalents qui peuvent être utilisés en lieu et place de eaccelerator.
- xcache
- apc