session_regenerate_idはsession_destroy()と一緒に機能しないことがわかりました。これが機能することを確認してください
<?php
session_start();
$old='old is: '.session_id();
session_regenerate_id(true);
echo $old;
echo '<br>';
echo 'new is: '.session_id();
?>
これは失敗しました。2つの同じセッションID番号を返します
<?php
session_start();
$old='old is: '.session_id();
session_regenerate_id(true);
session_destroy();
session_unset();
session_start();
echo $old;
echo '<br>';
echo 'new is: '.session_id();
?>
私はphp5.3.3を使用しています。2番目の方法は新しいセッションを作成するための推奨される方法ですが、なぜそれが私の側では機能しないのですか。
皆さん、ありがとうございます。テスト後、session_regenerate_id()の前にsession_destroyを呼び出す必要があることがわかりました。そうしないと、session_regenerate_idが機能しません。
<?php
session_start();
$_SESSION['abc']=12323;
$old='old is: '.session_id();
session_unset();
session_destroy();
session_start();
session_regenerate_id(true);
echo $old;
echo '<br>';
echo 'new is: '.session_id();
?>