yuw27b’s blog

技術メモと雑記

PHPがセッションIDを発行しなくなった

突然PHPsession_id()が空白を返すようになってしまった

もちろん本当に「突然」なのではなく、何かいじってしまったからなのですが。

PHPのセッション情報は、デフォルトではファイルに保存される

ので、そのファイルの読み書きができなければセッションIDも発行されません。

phpinfo();

でセッションの項目を確認。
session.save_handlerfilesの場合、
session.save_pathに設定されているディレクトリに読み書きの権限があるかを確認。



なぜそんなことになったのかの推測(自分メモ)

対象ディレクトリのユーザーがroot、グループがapacheになっていた。
当該サーバではApacheではなくNginxを使っているので、グループがapacheなのはおかしいようにも思える。
おかしくなる直前に、PHPの追加モジュールを入れたりしていたので、そこでパーミッションをいじってしまったか、グループがapacheに変わってしまったのかもしれない。