Raketenwilli: Zwei Tests ...

Beitrag lesen

Versuch 1:

<?php
echo "Session-Status_vor_start = ".session_status() . PHP_EOL;
// Prüfen, ob eine Sitzung bereits gestartet wurde
if( session_status() != 2 ) {
    // Sitzung starten
    session_start();
}
echo "Session-Status_nach_start = " . session_status() . PHP_EOL;

Run (Im Terminal, Output-Buffering ist also deaktiviert):

  • Session-Status_vor_start = 1
  • PHP Warning: session_start(): Session cannot be started after headers have already been sent in test.php on line 6
  • Session-Status_nach_start = 1

Versuch 2, ob_start() wird verwendet:

<?php
ob_start();
echo "Session-Status_vor_start = ".session_status() . PHP_EOL;
// Prüfen, ob eine Sitzung bereits gestartet wurde
if( session_status() != 2 ) {
    // Sitzung starten
    session_start();
}
echo "Session-Status_nach_start = " . session_status() . PHP_EOL;

Run: (Wie vor)

  • Session-Status_vor_start = 1
  • Session-Status_nach_start = 2

Frage: Wie hast Du getestet?