Frage

Ich versuche, einen Flash-Uploader in meiner Zend Framework-Anwendung zu implementieren, aber ich habe Probleme mit der Sitzung.

Das Flash keine Cookie-Header senden und aus diesem Grund die Sitzung verloren. Ich versuche, die sessionId als Post param und in meiner Bootstrap-Datei zu senden ich eine Sitzungs_ID hinzugefügt ($ _ POST [ 'session_id]), aber diese doenst zu funktionieren scheint.

Ich verwende eine MySQL-Tabelle als Sitzungsspeicher

Ich habe versucht, den Fehler zu debuggen und soweit ich sehe, wird die session_id gesetzt und die Speicherung gibt die corect Daten aus der Datenbank, aber es scheint nicht richtig in dem $ _SESSION global festgelegt werden.

Und noch seltsamer erscheint es auf meinen Windows-Computern zu arbeiten, aber nicht auf dem Linux-Staging-Server.

War es hilfreich?

Lösung

Wissen Sie, ob Sie Suhosin mit Ihrer PHP-Installation verwenden?

Ich habe ein gehört wenige Berichte von Suhosin dies zu den Sitzungen zu tun, Lösung in dieser Fall ist suhosin.session.cryptua in php.ini zu deaktivieren.

Wie auch immer, wenn das nicht Ihr Problem ist, nur um sicher zu sein mit den Grundlagen:

  1. Stellen Sie sicher, dass Sie Ihre session_id() in einem Beitrag von Flash passieren, zum Beispiel mit SWF Hochladen , ist dies getan, indem es in dem post_params Wert des Konfigurations Array übergeben.
  2. Stellen Sie sicher, dass Sie rufen session_id($_POST['session_id]) vor session_start()

Aber wie auch immer, ist es wahrscheinlich zu Ihrer PHP-Installation verbunden, wenn Sie sagen, es unter Ihrer Windows-Umgebung funktioniert.

Andere Tipps

Das klingt ähnlich wie verschiedene Fehler, die in den letzten Jahren berichtet worden, obwohl in den meisten Fällen auf Linux gearbeitet und nicht unter Windows.

http://framework.zend.com/issues/browse/ZF-2459 https://www.zend.com/en/ Foren / index.php? t = msg & goto = 16104 & S = de7d9b854db445eb37d0f33470cac6b0

und erst im letzten Monat:

http://blog.rac.me.uk/2009/01/09/php-zend-session-dont-set-it-up-in-the-initalizer/

- MarkusQ

Versuchen Sie, die folgende in Ihrer Controller-Aktion:

session_write_close();
session_id($this->_getParam('PHPSESSID'));
session_start(); 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top