Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-10-2008 13:57:53

angusyoung34
Membre
Date d'inscription: 07-05-2008
Messages: 14

Zend_Session : démarrage - Fichier de bootstrap

Bonjour,

Débutant en PHP, j'utilise le dernier framework de Zend. J'ai cependant un souci lorsque je souhaite tester mes services (methodes de classes) que j'appelle depuis une interface en Flex (AMFPHP).

L'erreur c'est : "session has already been started by session.auto-start or session_start()".

> Comment faire depuis un appel d'un service pour ne démarrer qu'une seule fois une session ??

> Comment utiliser un bootstrap pour qu'il ne soit appelé qu'une fois par session ??

Merci beaucoup pour votre aide précieuse,

Anthony

Hors ligne

 

#2 14-10-2008 22:11:37

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: Zend_Session : démarrage - Fichier de bootstrap

Probablement une classique fuite d'en-tête, il doit y avoir de l'affichage avant le démarrage de la session.
Pour rappel : la session démarre si on appelle Zend_Session::start(), ou si un namespace de session est crée (new Zend_Session_Namespace()) alors que l'option "strict" de Zend_Session est sur off ( attention, des composants de ZF comme Zend_Auth, ou Zend_Controller_Action_Helper_Flashmessenger utilisent des namespaces de session)

Hors ligne

 

#3 15-10-2008 08:10:13

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Zend_Session : démarrage - Fichier de bootstrap

enlève tout le ?> que tu peux avoir en fin de fichier php
si tu as un ?> en fin de fichier il est très facile sans s'en apercevoir d'y ajouter des caractères invisible comme \n
lorsque tu fais un include d'un tel fichier les caractès en question sont envoyé au client et tu obtient ce message
c'est vrai aussi dans le code j'ai vu hier un code php ainsi fait

Code:

<?php ....(du code php).... ?>
<?php ....(encore du code)...

dans ce cas il y a un \n entre ?> et <?php Or tout ce qui est en dehors de <?php ?> est envoyé au client c'est exactement comme si on avait fait un echo("\n");

le protocole http implique que tous les headers doivent être envoyé avec n'importe quelle donnée. et les session utilisent les headers http

A+JYT

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages