LoginSignup
2
2

More than 5 years have passed since last update.

PHPでsession_nameが日本語だとセッションIDが保持されない時もある件

Last updated at Posted at 2013-06-27

ハマったのでメモ。
ちょっと特殊なサーバでsession_start()してsession_idを確認してみると・・・
毎回変わっている。。他のサーバでは問題ないのに。
URLにセッションIDは流れていないので一応設定を確認してみると
session.use_trans_sidが1だった。
これのせいかと疑って、
ini_set("session.use_trans_sid", 0);
してみるも状況は一変せず。

何故だろう・・・cookieの情報を眺めてみる事に。
そこで気になったのがsession_name。
む・・・URLエンコードされている。

そうだ、日本語になってた。
しかしページ遷移後も変わってないんだから問題ないだろうなーと思いつつも一応アルファベットのみに書き換えてみる。
すると、おぉぉ直ったじゃねーか!!!サーバによって日本語では駄目なんだぁぁぁ!

更に追加でハマったのが.(ドット)も使ったら駄目だった。
hogehoge.comみたいなホスト名を使おうと思ったら保持されず。。普通に設定しましょう、普通に。

というお話。めでたし。

念のためsession部分のphpinfoを晒します
phpinfo

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2