Aller au contenu

Posts from the ‘Installation / Configuration’ Category

20
mar

Installation de l’extension APC

APC (pour Alternative PHP Cache), est une extension PECL tout simplement destinée à accélérer l’exécution de vos scripts PHP de votre serveur.

En réalité, APC va mettre en cache les fichiers PHP pré-compilés, et les réutiliser par la suite. Les gains en performances sont impressionnants! Pour cet article, nous allons simplement voir comment installer cette extension sur votre serveur, car il nous servira pour le développement d’une barre de progression en AJAX pour l’upload de vos fichiers via PHP.

Pré-requis:

  • Un serveur avec une distribution Linux installée (personnellement j’utilise UBUNTU) ;
  • Apache2 avec PHP5 d’installé en module ;
  • Des droits suffisants (et oui…).

1. Phase d’installation

Tout d’abord, on commence par installer les paquets suivants:

  • php-pear (pour utiliser pecl) ;
  • php5-dev (pour installer la commande phpize nécessaire pour le script d’installation d’APC) ;
  • apache2-threaded-dev (pour apxs2, création de modules pour apache).

Ensuite, comme normalement tout s’est bien déroulé, on lance la commande suivante:

pecl install apc

qui aura pour effet d’installer l’extension APC, mais je pense que vous l’aviez déjà deviné.

2. Phase de configuration

Une fois que tout est installé, il faut tout configurer, c’est l’une des bases fondamentales sous Linux, et mis à part son prix (gratuit) c’est ce qui fait sa force au sein de la communauté des développeurs, sous Linux tout est configurable à souhait!

On commence par se rendre dans php.ini (sur mon serveur /etc/php5/apache2/) pour y apporter quelques modifications. Ajoutez les lignes suivantes, personnellement, je les ai ajouté à la fin de mon fichier:

extension=apc.so

[APC]

apc.enabled = 1
apc.rfc1867 = On
apc.shm_size = 64M
apc.max_file_size = 100M

Puis, modifiez les lignes suivantes, faites bien attention à respecter la valeur de « apc.max_file_size »:

upload_max_filesize = 100M
post_max_size = 100M

Si vous avez bien suivi, ces lignes nous préparent à l’upload de gros fichiers… vous commencez à voir une autre utilité de l’installation de cette extension? Voilà, tout est correctement installé et configuré, il ne nous reste plus qu’à redémarrer apache!

/etc/init.d/apache2 restart

3. Phase de vérification

On en profite pour vérifier que l’extension soit bien installée, on réalise un petit fichier PHP contenant la très célèbre et bien utile ligne de code:

<?php phpinfo ();?>

La section APC apparaît avec toutes les propriétés liées à son utilisation… mais ça ne nous suffit pas, on en voudrait encore plus! Les développeurs de cette extension ont été bien sympa, et ont réalisé un fichier bien pratique nous permettant de consulter le contenu du cache, avec tout un tas d’informations utiles portant aussi bien sur ses paramètres que sa vitesse … bref je vous laisserai découvrir toutes ses fonctionnalités à votre rythme.

On cherche le fichier apc.php, puis on crée un lien symbolique histoire d’y avoir accès depuis notre serveur à l’aide d’un navigateur:

find / -type f -name apc.php
...
ln -s /votrechemin/apc.php /var/www/apc.php

Normalement, le fichier se trouve dans /usr/share/php/.

Bien évidement la lecture de ces informations étant privée, il faut éditer le fichier apc.php pour y ajouter votre login et votre mot de passe, ils se trouvent dans les premières lignes de ce dernier.

NB: Pensez à mettre à jour votre APC, il y a de grandes chances pour qu’il ne le soit pas lors de son installation en ligne de commande. Je ne vais pas développer ici la méthode pour le faire, mais depuis la page apc.php, il y a un onglet de mise à jour qui indiquera si votre version est dépassée ou non, et le cas échéant, vous redirigera vers le site des développeurs.

Avec la version de PHP6, cette extension sera incluse nativement dans le moteur ZEND et nous évitera ainsi cette fastidieuse liste de manipulations à réaliser pour faire tourner cette extension que je trouve plus que nécessaire aujourd’hui!