Chris: Immer Fehlermeldung bei session_start()

Hi,

ich habe folgendes Problem: Eine Session soll geöffnet bzw. erstellt werden, damit eine andere Seite bei gleicher Session auf dieselben Variablen zugreifen kann.
Nun bekomme ich aber grundsätzlich folgende Fehlermeldung sobald ich nur folgendes ablaufen lasse:

<?php
$name = "test";
session_register(name);
echo(session_id() . $name . " " . session_save_path());
?>

-> Ausgabe:

Warning: open(c:\windows\tmp\sess_98141e24ef62a9265848f9ed7b0c676c, O_RDWR) failed: m (2) in c:\apache\apache\htdocs\a.php on line 3
98141e24ef62a9265848f9ed7b0c676ctest c:\windows\tmp

Wie man sieht, ist auch in der pnp.ini alles korrekt eingestellt (ich habe auch schon diverse andere probiert).

Was passt nicht?

Und: Die Variable aus der ersten Seite ist trotz der geöffneten Session dort nicht verfügbar - hängt das mit der Fehlermeldung zusammen oder ist das ein separater Fehler?

Vielen Dank für jegliche Hilfe :-)
Chris

  1. HI Chris

    <?php
    $name = "test";
    session_register(name);
    echo(session_id() . $name . " " . session_save_path());
    ?>

    Das kann net gehen... Wenn was mit ner Session gemacht werden soll, dann an den Anfang des Dokuments immer session_start(), also so:

    <?php
    session_start();
    $name = "test";
    session_register(name);
    echo(session_id() . $name . " " . session_save_path());
    ?>

    MFG

    Philipp

    1. Hallo,

      <?php
      $name = "test";
      session_register(name);
      echo(session_id() . $name . " " . session_save_path());
      ?>

      Das kann net gehen... Wenn was mit ner Session gemacht werden soll, dann an den Anfang des Dokuments immer session_start(), also so:

      Doch, das kann gehen. Die Funktion session_register("name") ruft selber die funktion session_start() auf.

      1. es sind die Häkchen notwendig
      2. Durch session_register() werden die "einfachen Variablen" übertragen.
      3. wenn regsiter_globals auf off steht und die PHP-Version neu genug ist, dann ist session_register() "verboten", benutze dann nur die Abfrage und Zuweisung auf $_SESSION["name"] Beim Start der Session durch session_start() wird das Array automatisch mit den Variablen aus der sess_0123456789abcdef0123456789abcdef Datei gefüllt und beim Beenden des Scriptes werden sie automatisch zurückgeschrieben.

      4. Dafür muss der wwwrun (oder wie dein Apache sich als User eben nennt) aber Lese- und Schreibrechte im Verzeichnis C:\Windows\tmp\ haben. Wenn der GC (Müllsammler) funktionieren soll, muss er auch browserechte im Verzeichnis haben.

      Prüfe also, ob die Rechte für die Gruppe des wwwrun im und für das Verzeichnis \Windows\tmp ausreichen.

      Sollte der wwwrun keine eigene Gruppe haben, solltest Du das schnellstens ändern. Die Rechte für others sollten hier immer --- sein!

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      1. Hi,

        also register_globals ist bei mir on.
        Es gibt auch für den Server keinerlei Einschränkungen (ich bin derzeit noch am Lernen - was ich schreibe kommt nicht ins Netz).

        Da ich noch nicht so besonders versiert bin:
        Was ist $_SESSION["name"]?

        Vielen Dank schon im voraus :-)

        Chris