コードロード

エラー討伐

【PHP】セッション名にドットを含めて指定するとセッションが取得できなくなる

課題

セッション名を指定して session_start() すると、セッションが取得できなかったのでメモ。

結論

セッション名を指定するときに、「.」ドットは使わない!

セッション名を「.」ドットで繋いで session_start() すると、セッションを取得できない。

<?php
// lopgin.php

session_start([
  'name' => 'test.com.session'
]);

$_SESSION['user_id'] = $user_id;
<?php
// test.php

session_start([
  'name' => 'test.com.session'
]);

var_dump($_SESSION);
exit;

// array (size=0)
//  empty

やるなら「_」アンダーバーで繋ぐこと。

<?php
// lopgin.php

session_start([
  'name' => 'test_com_session'
]);

$_SESSION['user_id'] = $user_id;
<?php
// test.php

session_start([
  'name' => 'test_com_session'
]);

var_dump($_SESSION);
exit;

// array (size=1)
//  'user_id' => int 1