質問: いつもお世話になっております。 現在, VPSでサービスを公開する環境を整えているのですが, PHPでセッションを保持できない状態にありますので、ご助言をいただけませんでしょうか。 初歩的なことだったら大変申し訳無いのですが...... nginxとphp-fpmを用いてサービスを公開したいと考えています。 以下が現在進めている環境です。 -Arch Linux -nginx/1.14.0 -php-fpm -PHP/7.2.11 問題はセッションを保持できないことです。 例えば下記のような順番で、 ``` ``` セッションを実行したとして, 二回目にこのページを開いたときにはvar_dump()が実行されるはずですが, 現在そうならない状態です。 ローカルではXAMPPでずっと開発していたのでこの辺りはすぐに使えるかと思っていたのですが, 詰まってしまいました。 php.iniのsession.save_pathで指定したディレクトリのユーザーとグループはnginxやphp-fpmと揃えています。権限は750で書き込み自体は正常にできているようで, セッションを実行するたびに新規のファイルが作成されます。 状態としては、以下の方と似たような感じです。 https://serverfault.com/questions/727401/nginx-with-php-fpm-session-not-working Google翻訳で読んでいるので多少違う点はあるかもしれませんが, 書き込みは成功しており新規ファイルは作られるものの, セッションがうまくいきません。 この方は解決策を見つけたらしく, session.cookie_pathの権限が問題だったという結論だと思うのですが, 公開用のディレクトリ内はすべてnginxのユーザーとグループで統一し, 権限は755を今は与えています。 質問させていただきたいことは上記を踏まえた2点です。 他にcookie_pathに関連してユーザー, グループ, 権限を書き換えるべきところがあるのでしょうか。 書き込みは成功しているのに値を保持しない, というこの状態について, 解決策にお心あたりのある方はいらっしゃいますでしょうか。 session.save_pathのユーザー, グループ, 権限の変更について多くの情報はありますが, この状態について分かりませんでした。 何卒, よろしくお願いいたします。
回答: session 関係の切り分けは ・クライントに session id が保存されているか? ・サーバで適切に session の仕組みが動いているか? の 2 点が基点です。 クライアント側は、開発者ツールでリクエスト/レスポンスを確認してください。 サーバ側は、条件つけないで ```