Tagwächter: Ausprobiert ...

Beitrag lesen

Hallo und guten Morgen,

Bei meinem Skript wird die Session Global geöffnet. Macht das überhaupt Sinn, oder sollte man diese öffnen, nur wenn man diese auch braucht.

Die spannende Frage ist dann: Was passiert mit den Daten im Session-Array, wenn man die Session erneut öffnet. Probier es aus!

<?php
session_start();
$_SESSION['farbe'] = 'grün';
$_SESSION['tier'] = 'Spinne';
$_SESSION['zeit'] = time();

$mySession = $_SESSION;
session_write_close();

session_start();

echo '$_SESSION:', "\n";
print_r($_SESSION);

echo 'Kopie:', "\n";
print_r($_SESSION);

Ergebnis wie erwartet:

~$ php /tmp/test3.php 
$_SESSION:
Array
(
    [farbe] => grün
    [tier] => Spinne
    [zeit] => 1477655968
)
Kopie:
Array
(
    [farbe] => grün
    [tier] => Spinne
    [zeit] => 1477655968
)

Kommt wohl darauf an, wie man die Session startet. Mit session_destroy() statt session_write_close() sieht das Ergebnis zwingend anders aus:

$ php /tmp/test3.php 
$_SESSION:
Array
(
)
Kopie:
Array
(
)