Question

J'essaie d'implémenter un programme de téléchargement Flash dans mon application Zend Framework mais je rencontre des problèmes avec la session.

Le Flash n'envoie aucun en-tête de cookie, raison pour laquelle la session est perdue. J'essaie d'envoyer sessionId en tant que paramètre de publication et dans mon fichier d'amorçage, j'ai ajouté un session_id ($ _ POST ['session_id]), mais cela ne semble pas fonctionner.

J'utilise une table MySQL comme stockage de session

J'ai essayé de déboguer l'erreur et, autant que je sache, session_id est défini et le stockage renvoie les données corect de la base de données, mais elles ne semblent pas être correctement définies dans le global $ _SESSION.

Et même plus étrange, il semble fonctionner sur mon ordinateur Windows mais pas sur le serveur de transfert Linux.

Était-ce utile?

La solution

Savez-vous si vous utilisez Suhosin avec votre installation PHP?

J'ai entendu un quelques rapports de Suhosin faisant cela aux sessions, solution en cours ce cas est de désactiver suhosin.session.cryptua dans php.ini.

Quoi qu'il en soit, si ce n'est pas votre problème, juste pour être sûr des bases:

  1. Assurez-vous de passer votre session_id () dans un message de votre Flash, par exemple avec Le téléchargement de fichiers SWF s'effectue en le passant dans le post_params a> valeur du tableau de configuration.
  2. Assurez-vous d'appeler id_session ($ _PART ['id_session]] avant session_start ()

Quoi qu'il en soit, il est probablement lié à votre installation PHP si vous dites que cela fonctionne sous votre environnement Windows.

Autres conseils

Essayez ce qui suit dans l'action de votre contrôleur:

session_write_close();
session_id($this->_getParam('PHPSESSID'));
session_start(); 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top