Blog de Nicolas Hachet

Installer le bon php_apc.dll sous Windows 7 (x64) et corriger les erreurs

Je ne sais pas vous, mais moi, dès que j’essaie d’installer APC (another PHP cache) sur un environnement Windows (x86 ou x64) , je passe des heures à trouver l’extension DLL correcte… Le fichier à installer s’appelle php_apc.dll et peut provoquer des erreurs aussi variées qu’agaçantes au démarrage d’Apache :

Ça prend un temps fou à résoudre et c’est systématiquement un calvaire. Pour vous aider à corriger tout ça, je vais compiler plusieurs choses :

  1. les repositories où vous pouvez télécharger php_apc.dll pour différents systèmes
  2. une explication de comment choisir son extension apc (x64 / x86 ? TS / NTS ? VC6 / VC9 ?)

Ou trouver le ficher php_apc.dll ?

Ci dessous une petite compilation des dépôts où vous trouverez l’extension APC précompilée pour Windows (format DLL donc).

Extension PHP pour Windows 64bits (Windows 7)
 http://www.mediafire.com/php-win64-extensions

Site de Pierre
http://downloads.php.net/pierre/

GitHub de stealth35
https://github.com/stealth35/stealth35.github.com/downloads

Anindya
http://www.anindya.com/

Avec ces 4 repos, vous devriez trouver votre bonheur. Passons maintenant au choix de l’extension adpatée  à votre système.

Comment choisir son extension php_apc.dll ?

Avant tout, ce qu’il faut savoir, c’est qu’une extension compilée pour un système n’est pas compatible avec un autre système. C’est ce qui provoque toutes ces erreurs. Il y a plusieurs paramètres qui influent :

Ça devient donc vite un problème de choisir l’extension correcte. D’autant plus que la version d’APC entre également en jeu (3.1.9, 3.1.13, etc.).

Pour faire son choix, c’est « facile » :

1. Identifier votre compilateur et votre architecture

Lancer votre serveur Apache (Wampserver par exemple) et accéder au phpinfo() de votre serveur : http://localhost/?phpinfo=1

Ici, on est sur un compilateur VC9 et une architecture x64 (64 bits) sous Windows 7.

2. Identifier votre version PHP

Toujours sur votre phpinfo(), vous trouverez également la version de PHP actuellement en cours d’exécution. Ici du PHP 5.3.13 (donc du PHP 5.3).

3. Identifier votre type de gestion de threads : TS ou NTS

Là c’est plus obscur… Il semblerait qu’il faille prendre des extensions Thread Safe sur les Windows 7 et supérieur. Je vous laisse essayer les 2. Sachez que, sur mon ordinateur perso Windows 7, x64 avec un apache x64, j’ai du prendre l’extension Thread Safe (TS). Si quelqu’un à des infos la dessus, je suis preneur. 😉

4. Télécharger la bonne extension

Muni de toutes ces infos, vous êtes prêts à choisir correctement votre extension APC qui fonctionnera sur votre système.
Un petit exemple, vous avez les infos suivantes :

Vous pouvez vous tourner vers l’extension php_apc-3.1.13-5.3-VC9-x64-win7-2008.zip disponible sur le site de mediafire.

Pour la partie installation/configuration APC, je vous laisse zieuter sur le Web, il y a plein de tutos qui l’explique.