System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Compilation Installation et configuration de eAccelerator

php eaccelerator .jpeg

Optimiser et accélérer votre php grace à un cache et en éliminant la compilation.

eAccelerator est un logiciel open-source PHP accélérateur, il optimise le code et crée un cache du contenu dynamique. Il augmente les performances des scripts PHP. Il optimise également les scripts pour accélérer leur exécution. eAccelerator réduit la charge du serveur et augmente la vitesse de votre code PHP de 1-10 fois.

Attention : eAccelerator ne fonctionne qu'avec Php (cli) et Php (cgi) il vous faudra utiliser mod_php ou le mode fastcgi.

Le télécharger :

Prenez bien la dernière version stable.

cd /opt/SOURCES
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2

Installation :

tar xvjf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3

Maintenant passons à la .compilation.

./configure --enable-eaccelerator=shared --with-php-config=/opt/php/bin/php-config
make
make test
make install

Configuration :

Copier ceci dans votre fichier php.ini :

[eaccelerator]
zend_extension="/opt/php529/lib/php/extensions/no-debug-non-zts-20060613/eaccele
rator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/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"
eaccelerator.allowed_admin_path = "/data/www/ea/"

Explications des differentes options disponibles :

eaccelerator.shm_size = "64"

Cette variable permet de définir la quantité de mémoire partagée à allouer à eAccelerator. Valeur par défaut : 0 qui correspond à la valeur par défaut du système d'exploitation.

eaccelerator.cache_dir = "/tmp/eaccelerator"

Répertoire dans lequel sont stockées les pages "cachées" de eaccelerator, pour Windows, le chemin doit être du type "C:pathtotmp".

eaccelerator.enable = "1"

Active ou désactive eAccelerator, 1 pour activé et 0 pour désactivé. Par défaut : 1.

eaccelerator.optimizer = "1"

Active ou désactive l'optimiseur de eAccelerator qui sert à augmenter les performances. 1 pour activé et 0 pour désactivé. Par défaut : 1.

eaccelerator.debug = "0"

Active ou désactive les logs de eAccelerator. Par défaut : 0.

eaccelerator.check_mtime = "1"

Active ou désactive le comparateur (basé sur la date) de eAccelerator. Si vous modifiez souvent vos scripts, donnez la valeur "1" à cette variable, sinon donnez-lui la valeur "0".

eaccelerator.filter = ""

Specifie les extensions de fichiers susceptible d'être mis en cache par eAccelerator. Exemple: ".php *.phtml". La négation de cette exemple est "!.php *.phtml" (notez le caractère "!" au début de l'expression. Valeur par défaut : "", en l'occurence, met en cache tous les fichiers php).

eaccelerator.shm_max = "0"

Spécifie la quantité de mémoire partagée maximale pour l'utilisation de la fonction "eaccelerator_put()". Exemple : 10240, 10K, 1M. Valeur par défaut : "0", en l'occurence, aucune limite de mémoire.

eaccelerator.shm_ttl = "0"

Quand eAccelerator a atteint sa limite de mémoire partagée, il enlèvera de cette mémoire tous les scripts qui n'ont pas été sollicités depuis "shm_ttl" seconde. Valeur par défaut : 0, en l'occurence, n'enlève aucun script de la mémoire.

eaccelerator.shm_prune_period = "0"

Quand eAccelerator a atteint sa limite de mémoire partagée, il essaiera d'enlever les scripts les plus vieux dont le code compilé a été créer il y a plus de "shm_prune_period" seconde. Valeur par défaut "0", en l'occurence, n'enleve aucun script de la mémoire.

eaccelerator.shm_only = "0"

Active ou désactive l'utilisation du disque pour le stockage des données (n'a aucun effet sur les données relatives aux sessions et le cache du contenu, on parle ici de code compilé intermédiaire). Valeur par défaut : "0", en l'occurence, l'utilisation du disque ET de la mémoire est autorisé.

eaccelerator.compress = "1"

Active ou désactive la compression du cache du contenu. Valeur par défaut : "1", en l'occurence, les données mises en cache sont compressées.

eaccelerator.compress_level = "9"

Specifie l'indice de compression utilisé pour le stockage des données mise en cache. Valeur par défaut : "9", en l'occurence, l'indice de compression maximum.

eaccelerator.keys = "shm_and_disk" eaccelerator.sessions = "shm_and_disk" eaccelerator.content = "shm_and_disk"

Specifie l'endroit où les clés, les données relatives aux sessions, ainsi que le contenu, sont stockées (disque ou mémoire). Liste des valeurs possibles : "shm_and_disk", stocke les données en mémoire et sur disque (valeur par défaut). "shm", stocke les données en mémoire ou sur le disque, si la mémoire est pleine, où si la taille des données est supérieur à "eaccelerator.shm_max". "shm_only", stocke les données en mémoire uniquement. "disk_only", stocke les données sur disque uniquement "none", aucun stockage des données.

La derniere ligne sert a créer une interface de gestion en php pour eAccelerator.

eaccelerator png

Création du repertoire de cache.

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

Copier ceci dans votre php.ini, utilisez find ou locate pour le trouver.

Arrivez la vous n'avez plus qu'a redémarrer votre serveur apache.

service httpd stop
service httpd start

ou avec invoke-rc.d pour Debian ou Ubuntu.

Vérifier le fonctionnement de eAccelerator :

Une simple commande :

php -v

Qui devrait vous donner quelque chose comme ça :

PHP 5.2.9 (cli) (built: Mar 12 2009 18:58:49)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccele
rator

Vous devriez aussi avoir quelques fichiers et dossiers dans /tmp/eaccelerator que nous avons créé plus haut (emplacement du cache).

Mettre e place l'interface gestion en php :

mkdir /var/www/ea
cd /var/www/ea
wget http://hosting.toshib.fr/staff/ea.txt
mv ea.txt ea.php
chown user-apache: ea.php
vi ea.php

Dans ce fichier changez juste cette partie en mettant un user et un mot de passe :

/** config **/
$user = "eauser";
$pw = "password";
/** /config **/

Il faudra biensur configurer votre vhost dans apache.

Par GanGan | le jeudi, juin 4 2009 08:00