session_start() et exec() ne font pas toujours bon ménage en PHP
- Date de publication
- 30/janv.
2008 - Commentaires
- 4 commentaires
- Tags
SPIP utilise toujours son propre système de gestion de sessions applicatives alors que PHP les supporte depuis maintenant longtemps de façon satisfaisante. Ou pas...
Avec un SPIP 1.9.2c installé sur Windows Server 2003 SP2, avec Apache 2.2.6 et PHP 5.2.4, j’avais des plantages étranges sur la page de configuration avancée de SPIP et l’indexation ne marchait plus bien, certains articles passant au travers. Je n’avais pas ce soucis sur le même site déployé sur Linux ou Mac OS X.
Après bien des essais et lectures de code tant perso que de SPIP, il s’avère que PHP supporte mal l’usage simultané de sessions et de exec(). Le bug #22526 a beau dater de 5 ans et être clos, le problème se pose encore, manifestement.
J’avais en fait un session_start() dans mes_options.php pour avoir une session PHP active dans toutes les pages. Du coup j’avais un plantage, tant des exec() de test de librairies graphiques dans la configuration avancée, que des exec() d’extraction de contenus des documents dans l’indexation.
De proche en proche, j’ai découvert sur différents forums que le problème est bien d’actualité, et qu’heureusement une solution existe !
Il suffit de remplacer toutes les instructions telles que la suivante :
exec(...);Par ceci :
session_write_close();
exec(...);
session_start();Bien sûr, si le exec() en question se trouve après du code écrivant sur la sortie standard, il faudra utiliser les fonctions de bufferisation de sortie1 pour éviter les warning dûs à l’envoi de cookie par session_start().
Bien que les sources qui relatent ce problème et sa solution datent un peu, je peux vous confirmer que modifier de cette façon le source des fichiers présents dans ecrire/extract/*.php résout bien le problème.
Finalement, les sessions de SPIP sont meilleures que celles de PHP, au moins sur ce point... ;-)
- Notes
[1] output buffering en anglais
Commentaires
Backtweets
Avec les mêmes tags
Derniers billets
-
Quelques petits ajustements...
Vous l’avez peut-être remarqué vous même si vous faites partie des rares à venir de temps en temps sur le site, mais certainement pas si vous me lisez via le flux RSS, j’ai fait quelques ajustements, notamment sur la page d’accueil.
- Date de publication
- 11/mars
2010 - Commentaires
- 2 commentaires
- Tags
-
Les spammeurs s’y connaissent en CSS
Un p’tit malin qui se fait appeler Sylvain a laissé un commentaire très sympathique sur mon billet précédent. Mais il a aussi glissé subrepticement un lien vers un site de poker fashion...
- Date de publication
- 1/mars
2010 - Commentaires
- 5 commentaires
- Tags
-
Tumblr aime mes méduses
Vous avez sans doute déjà vu ma belle photo de méduses fluorescentes — une de mes préférées — que ce soit ici, sur Flickr, JPG Magazine, deviantArt ou plus récemment sur RedBubble. Et bien elle vient d’être publiée en série sur de nombreux micro blogs Tumblr, lui apportant une énorme visibilité.
- Date de publication
- 25/fév.
2010 - Commentaires
- aucun commentaire
- Tags

Derniers commentaires
ventrea sur Quelques petits ajustements... : Sympa les polices. Juste un petite remarque, dans les textes le lissage des caractères est assez (...)
NiKo sur Les spammeurs s’y connaissent en CSS : Vérifie très vite, car effectivement tu es vulnérable aux XSS en l’état.
Cédric sur Les spammeurs s’y connaissent en CSS : Ça fait quelques temps déjà que ce genre de message fleurit dans les commentaires. La parade très (...)
Rik sur Les spammeurs s’y connaissent en CSS : Comme le dit un certain edas, autoriser l’attribut style c’est s’exposé à de belles XSS. Plus (...)
NiKo sur Un Netbook comme videur de cartes amélioré ? : C’est pour ça que perso je pré-derushe mentalement en ne déclanchant que si j’estime cela vraiment (...)
NiKo sur Un Netbook comme videur de cartes amélioré ? : A part de céder à la tentation d’un nouvel achat techno, je vois vraiment pas l’intérêt d’acheter (...)
NiKo sur Google Chrome sur Mac, bilan mitigé : > Pas de barre de titre, donc je ne connais pas le nom de la page dès que j’ai plus de 5 onglets (...)
Sur Commentaires désactivés temporairement : Un commentaire sur la 2.2.0 svn !
Frank Taillandier sur Google Chrome sur Mac, bilan mitigé : Avec la version 5.0.322 du canal de dev le drag’n’drop dans la barre de signet « marche » sauf (...)
Xavier sur Google Chrome sur Mac, bilan mitigé : Pour speed tracer, il faut lancer chrome avec le parametre —enable-extension-timeline-api (...)