Chacun sait, du moins je l'espère, que PHP est un langage interprété et que par défaut, à chaque fois que que du code PHP est exécuté, il est tout d'abord analysé puis transformé en un langage intermédiaire connu sur le nom de bytecode et enfin réellement exécuté par la machine via le Zend Engine.

Or, dans la plupart des cas, le temps nécessaire à l'analyse du code et à sa conversion en bytecode est largement supérieur au temps nécessaire à la machine pour exécuter le code ainsi obtenu.

Pour remédier à cela, des outils ont été développés afin que les étapes d'analyse et de conversion en bytecode ne soient pas effectuées à chaque exécution du code, mais une seule fois, lors de la première exécution, ce qui permet donc d'améliorer grandement les performances du langage.

En conséquence, la majorité des sites propulsés par PHP utilisent ce type d'outil, d'autant plus qu'ils sont relativement facile à installer et configurer et ont donc un coût de mise en œuvre très réduit, ce qui les rend encore plus séduisants.

Le plus connu de ces outils s'appelle APC, aka Alternative PHP Cache et est développé entre autre par Rasmus Lerdorf, le concepteur originel.

Cependant, malgré le fait que Rasmus participe à son développement et que sa documentation soit disponible sur le site php.net, il ne s'agit toujours que d'une extension de PHP.

Donc, même si son fonctionnement est très dépendant du fonctionnement du langage et qu'elle est donc développée parallèlement au langage, elle n'est en aucune façon développée simultanément.

C'est la raison pour laquelle la dernière version officielle d'APC n'est pas du tout compatible avec PHP 5.4, et que si votre site dépend de lui, il est pertinent de rester encore un peu sur une version antérieure du langage le temps que APC soit mis à jour.

Cette mise à jour devrait d'ailleurs être disponible à court terme, la version de développement d'APC se révélant déjà beaucoup plus stable que la version officielle avec PHP 5.4.

Cependant, même si le paquet Dotdeb correspondant est disponible sous le nom php5-apc, il ne s'agit toujours que d'une version de développement, et il est donc très fortement déconseillé de l'utiliser dans le cadre d'un environnement de production, sous peine d'avoir potentiellement des ennuis plus ou moins importants.

À plus ou moins moyen terme, cette situation ne devrait toutefois pas pouvoir se reproduire.

En effet, la possibilité d'intégrer complètement APC à PHP a été évoqué à plusieurs reprises au cours du développement de PHP 5.4, mais les problèmes posés par ce dernier à APC n'ont pas pu être résolu suffisamment vite pour que cela soit possible.

Pour autant, chose suffisamment rare pour être signalé, il semble y avoir un consensus parmi les développeurs de PHP sur le fait que APC devra un jour faire parti du langage et ne plus être une extension, même si certains d'entre eux s'inquiètent de la situation de monopole par défaut que cela impliquerait et du manque de visibilité que cela engendrerait pour les autres solutions disponibles sur le marché.