Sur mon environnement Windows XP, j'utilise souvent EasyPHP pour faire des tests rapides et rouler des snippets de code. Cette fois-ci, j'avais besoin d'utiliser APC.
Alternative PHP Cache (APC) est une extension PECL très pratique qui permet de stocker dans la mémoire vive des pages PHP, ce qui permet de réduire l'accès au disque et d'améliorer la performance. Comme il ne vient pas par défaut dans l'installation de PHP ou de EasyPHP, il faut l'installer manuellement. Sur Windows, on peut normalement l'obtenir à partir de Pecl4Win mais comme il est présentement en maintenance en raison du développement d'un nouveau système, il me fallait trouver le DLL ailleurs. Je pensais le dénicher dans le musée PHP, là où on peut trouver toutes les versions de PECL et PHP, mais ce n'était pas le cas. J'ai finalement réussi à trouver une archive téléchargeable qui contenait plusieurs versions d'APC pour Windows, sur le site de Justin Silverton.
Fait à noter, il est important de prendre le DLL qui correspond à la version de PHP installée pour que ça fonctionne. J'ai utilisé celle qui se trouvait dans le répertoire 5.2.
Ensuite, déposez le DLL dans le répertoire des extensions PHP de EasyPHP (par défaut C:\Program Files\EasyPHP 3.0\php\ext).
Dans le fichier php.ini, ajoutez la ligne suivante dans la section des extensions ou, si elle est déjà présente, retirez le ";" placé devant la ligne.
extension=php_apc.dll
Ensuite, appelez phpinfo() dans une page PHP pour vous assurer que l'extension est chargée. Vous devriez voir une section nommée "apc" et une valeur indiquant APC Support = enabled. Je n'ai pas eu à redémarrer Apache pour qu'il en tienne compte.
Pour modifier la configuration de base, il suffira d'ajouter une section [APC] dans php.ini et d'y associer les nouvelles valeurs. Référez-vous à la documentation du APC runtime configuration pour le détail de chaque valeur possible.
Par exemple :
[APC]
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 30
apc.ttl = 0
apc.user_ttl = 0
apc.num_files_hint = 1000
apc.enable_cli = 0
apc.max_file_size = 1M
apc.stat = 1
apc.rfc1867 = 0
Sur Windows, APC utilisera le répertoire temporaire TMP ou TEMP et doit posséder les droits en écriture. Avec Apache, ça devrait fonctionner sans qu'il n'y ait aucune manipulation à faire.
Finalement, un outil de monitoring est inclus avec le package d'APC. Il s'agit d'une page nommée apc.php à déposer sur le serveur et à accéder normalement avec un fureteur. Vous pourrez l'obtenir par l'archive APC que j'ai mentionné plus haut, sinon dans la dernière version stable du package tgz qui se trouve sur PECL.
mardi 7 avril 2009
4 réponses à "Installer APC sur Windows"
S'abonner à :
Publier des commentaires (Atom)
J'ai eu le même souci aujourd'hui, et après un bon quart d'heure de galère je tombe enfin sur ton post ;)
Merci bien!
Super!
Merci pour ton post très utile. Je l'ai installé sur mon EasyPHP 3.0 (PHP 5.2.0). APC est chargé (version 3.0.13-dev) et l'outils de monitoring fonctionne.
Sur des petits scripts PHP, ça fonctionne. Par contre, dès que je fais tourner un CMS comme Drupal, j'ai Apache qui plante pour chaque hit sur une page du site. Est-ce que tu as rencontré des problèmes similaires?
Pour le CMS, je n'ai jamais utilisé Drupal, mais je me doute qu'il y a un problème avec la quantité de mémoire allouée à APC. On peut l'ajuster par la section [APC] de php.ini.
Sinon, plus particulièrement pour Drupal, j'ai trouvé une information sur leur site qui disait que le module APC n'était plus maintenu et qu'il avait été remplacé par Cache Router.
Merci pour ce tuto fort utile :)