Bonjour,
Je souhaiterais lancé un petit débat sur les possibilités d'utiliser Apache / PHP en tant que langage serveur.
Inutile de me rappeler que ce n'est pas la vocation du PHP et que ce n'est pas conçu pour, mais je me pose des questions quand aux possibilités de faire ça.
Par lanage serveur, je pense à la possibilité de créer un démon (donc qui tourne en permanance), capable d'ouvrir des ports d'écoute (je ne sais pas si PHP sait faire ça), et d'entretenir un dialogue sur une connexion TCP sans se deconnecter à la fin de chaque requete (envoi d'information spontanée du serveur vers le client).
Alors évidemment, les principaux problèmes sont :
- Peut-on paramétrer un serveur Apache de sorte a ce qu'il n'y ai pas de Time-out après un certains temps d'éxécution ? Si c'est le cas, cela ne risque t-il pas de poser des problèmes d'allocation mémoire ?
- Dans le cas ou le problème des allocations mémoires est gérée au niveau du serveur, qu'en est-il des scripts eux même ? J'imagine que lors d'une requete sur un serveur apache, la mémoire allouée lors de l'execution du script est désalouée d'un bloc à la fin de l'éxécution. La fonction unset() est-elle suffisante pour gérer ce problème si on considère qu'il n'y a pas de fin au script ?
J'imagine qu'il doit se poser d'autre problème (utilisation ressources, synchronisation entre process...), mais ça pourrais être amusant de programmer des serveurs en full PHP pour communiquer en mode connecté avec des appli client en C/c++.
Au fait, le Pearl est adapté pour ça ?
Partager