本番サイトではセッションが使えるのに、テストサイトではセッションが使えない。
何故だろう。
と思って軽くハマったので残しておく。
本番サイトは https 、テストサイトは http。
ここがポイント。
以前、本番のセッション情報をよりセキュアにするために、
session.cookie_secure を ON にしていた。忘れてた。
https://www.php.net/manual/ja/session.configuration.php#ini.session.cookie-secure
だから、http通信のテストサイトではセッションが使えない状態だった。
サーバ側でセッションを保持していないから。ただ、同一ファイル内では $_SESSIONが使えた。
対策としては、テストサイトにだけPHPファイルに、
ini_set( 'session.cookie_secure', '0' );
の設定を入れた。
結果、セッションが使えるようになった。
ググっても、同じ事例が出てこなかったので、残しておきます。
参考 セッションに関連するINI 設定をセキュアにする