IIS php Session



  • Hi Leute,

    habe einen IIS6 mit php 5.0.4.

    Darauf läuft ein Shop mit Frames.
    In jedem Frame werden Sessions geschrieben.
    Dies funktioniert auf Apache und IIS6 mit php 5.0.3.

    Auf 5.0.4 wird jedoch in einem Frame die Session nicht ins File gespeichert.
    Habe auch zum Schluß schon session_write_close aufgerufen u.s.w.
    Kein erfolg. Auf dem gleichen Server mit der 5.0.3 geht es.

    Hatte schonmal jemand sowas?


  • Mod

    Klingt ziemlich eindeutig nach Bug in PHP 5.0.4

    Idee:
    schreib dir einen eigenen Session Handler und schau nach ob write() wirklich aufgerufen wird. Wenn ja: dann ist das locken der Session Dateien vielleicht Fehlerhaft. PHP Sessions vertragen sich mit Frames sowieso nicht so gut, weil die Session Dateien so lange gelockt bleiben, bis write() aufgerufen wird: dh, die frames werden seriell geladen und nicht parallel.

    Wenn sich der Fehler nicht beseitigen lässt, könnte man auch den Sourcecode Hacken und direkt in dem Session Handler Log Ausgaben machen (ext/session/mod_files.c)

    PHP5 ist noch nicht ganz stable, deshalb würde es mich nicht wundern wenn hier ein PHP Fehler vorliegt (bei PHP4 würde ich dagegen von einem Konfigurationsfehler ausgehen).

    Problem ist auch: PHP unter Windows und vorallem IIS ist nicht so gut getestet wie unter Linux/Apache



  • Ist auch ein BUG.
    Ich benutze smarty.

    Nach Session_start schreiben ich
    smarty>assign("SESSION",smarty->assign("SESSION",_SESSION);

    Da ist $_SESSION aber noch leer.

    Bis 5.0.3 hat es funktioniert.
    Ab 5.0.4 nicht mehr.
    Er schreibt zwar das Array aber speichert es zum SChluß nicht mehr ins File.
    Man muss also Abfragen ob $_SESSION leer ist.
    ein isset geht nicht da SESSION gesetzt ist.
    Habe die Zeile rausgenommen und nun geht es.
    Der Fehlerist aber nur in der PHP-Datei wo ich die Session abfrage obwohl nichts drin ist.


  • Mod

    Unix-Tom schrieb:

    ein isset geht nicht da SESSION gesetzt ist.

    nimm empty()

    und melde den bug.

    ich weiss ja, warum ich php5 erst ab 5.1 produktiv einsetzen werde 😉
    obwohl die features ja schon verlockend sind...


Anmelden zum Antworten