D'après l'auteur et en résumé, PHP doit mourir, car il est totalement incapable de fonctionner de manière asynchrone correctement.

Ainsi, l'écriture d'un démon fiable en PHP serait une mission quasi impossible, voire suicidaire, car le langage serait totalement incapable de gérer sa mémoire de manière correcte.

Il justifie cela par le fait que le Zend Engine n'est pas destiné à être exécuté en permanence et que cela aurait conduit ses concepteurs à négliger la gestion des éventuelles fuites de mémoire générées par leur code.

J’en rigole encore.

J'ai écrit mon premier démon en PHP quelque part entre les années 2000 et 2005, dans le but de superviser certains traitements dans un environnement de production.

Et par la suite, j'en ai écrit bien d'autres pour remplir des tâches diverses et variées aussi bien dans un cadre professionnel que personnel.

Ainsi, en 2005, j'en ai par exemple conçu un certain nombre pour gérer le comportement de wmii, le gestionnaire de fenêtre que j'utilisais à l'époque sur mon ordinateur portable sous FreeBSD.

Dans un tel contexte, mes démons en PHP étaient exécutés en permanence pendant plusieurs semaines, car je redémarre très peu mes ordinateurs.

Et dans tous les cas, je n'ai jamais constaté la moindre fuite de mémoire.

Quand je vous dis que j’en rigole encore, ce n’est pas pour rien…

D'autant que je ne suis pas le seul à m'amuser à ce genre d'exercice.

Amaury Bouchard est aussi un concepteur de démon en PHP, à tel point qu'il a même donné une excellente conférence sur le sujet lors du dernier Forum PHP.

Et Amaury ne fait pas particulièrement dans la dentelle, puisqu'il se sert de démons en PHP pour synchroniser un système de fichier distribué dans un cadre professionnel.

Et à ma connaissance, il n'a jamais rencontré le moindre problème de fuite de mémoire dans ce contexte.

Je sais également qu'Ivan Enderlin, le créateur de l'ensemble de bibliothèques pour PHP connu sous le nom de Hoa, s'est aussi beaucoup amusé à faire ce genre de choses.

Et toujours à ma connaissance, PHP ne lui a jamais posé le moindre problème en ce qui concerne la gestion de sa mémoire, alors qu'il est vraiment très fort pour pousser le langage dans ses derniers retranchements.

De plus, si les références circulaires pouvaient effectivement être un problème par le passé, ce n'est plus le cas depuis le 22 juillet 2010, date de sortie de PHP 5.3.3.

PHP, n’en déplaise à ceux qui souhaitent sa mort, est en effet un langage encore bien vivant.

Il est en effet activement développé et ses développeurs sont tout à fait conscients, bien plus que vous ou moi, de ses forces et de ses faiblesses.

Ils font donc tout ce qu'il faut pour que PHP s'améliore et devienne plus efficace et performant, j'en veux pour preuve le gain de 30 % apporté par PHP 5.4 à la fois en terme de vitesse d'exécution et de consommation mémoire.

J'ajoute que PHP-FPM est également un excellent moyen de faire réaliser des tâches asynchrones au langage.

De plus, PHP permet également de déléguer très facilement ce genre de tâche à des outils spécifiquement conçu pour répondre à cette problématique, comme par exemple gearman.

Certes, cela demande un hébergement disposant des extensions adéquates, mais quand on commence à avoir ce genre de besoin, on a en général à sa disposition une infrastructure plus sérieuse qu'un serveur mutualisé chez un hébergeur à bas prix.

En conséquence, si la légende urbaine colportait à une époque le fait que PHP n'était pas le langage adéquat pour faire de l'asynchrone ou écrire un démon, ce n'est certainement plus le cas aujourd'hui, si tant est que cela ne l'ait pas été un jour, et évidemment à la condition de coder correctement.

À bon entendeur…