Nous ne recommandons pas l'utilisation de PHP dans un environnement threadé MPM, avec Apache 2. Utilisez le mode prefork MPM à la place, ou utilisez Apache 1.
Le problème vient donc de l'utilisation d'un thread, et non d'un fork() au moment de l'arrivée d'une requête utilisateur.
Pour ceux qui font du PHP5 de manière intensive, en exploitant notamment le nouveau modèle objet, ils ont pu s'apercevoir du nombre de bugs encore élevés (cherchez segfault dans PHP5 sur http://bugs.php.net/(...) ). Si une erreur de segmentation survient dans un processus, créé par fork(), le processus s'arrète. Si cela survient dans un thread, c'est tout le processus qui s'arrête, donc sans doute tous les threads utilisateur qui sont en train de répondre aux requêtes.
PHP ne recommande donc pas de ne pas utiliser le nouveau Apache2, mais de ne pas utiliser le modèle threadé qui peut poser problème à cause de l'instabilité de PHP.
[^] # Re: enfin !!
Posté par Nicolas Y . En réponse à la dépêche Debian : Sarge prévue pour la fin du mois, chasse aux bogues, AMD64. Évalué à 10.
Dans la doc ( http://www.php.net/manual/fr/install.unix.apache2.php(...) ), il est écrit :
Le problème vient donc de l'utilisation d'un thread, et non d'un fork() au moment de l'arrivée d'une requête utilisateur.
Pour ceux qui font du PHP5 de manière intensive, en exploitant notamment le nouveau modèle objet, ils ont pu s'apercevoir du nombre de bugs encore élevés (cherchez segfault dans PHP5 sur http://bugs.php.net/(...) ). Si une erreur de segmentation survient dans un processus, créé par fork(), le processus s'arrète. Si cela survient dans un thread, c'est tout le processus qui s'arrête, donc sans doute tous les threads utilisateur qui sont en train de répondre aux requêtes.
PHP ne recommande donc pas de ne pas utiliser le nouveau Apache2, mais de ne pas utiliser le modèle threadé qui peut poser problème à cause de l'instabilité de PHP.
Plus d'infos et des liens sur Slashdot : http://slashdot.org/apache/04/12/21/1837209.shtml(...)