Nginxサーバーでphpをアップデートしたらログインできなくなった

すっごい初歩的なミスですが、たまにやらかすのでメモ。
この状態になると、ログインの他にショッピングカートに追加されないとか、セッション周り全般が動かなくなります。

phpアップデートでセッションが効かなくなるのは権限

phpのアップデートによりsessionを保持しているディレクトリの権限がroot:apacheにされてしまうことがあります。
これはnginxユーザーからは読み書きできなくなってしまうので困ります。

セッションファイルのディレクトリを直せばOK

セッションファイルのディレクトリをroot:nginxに変更しましょう。
※nginxを動かしているユーザーグループを指定してください。

$ sudo chown root:nginx [対象ディレクトリ]

対象ディレクトリはphpのインストール場所によって変わりますので、php.iniで確認しましょう。

php.iniは通常/etc/php.iniにあります、php-fpmを使っている場合もちょっと違うことがあるので注意。

phpは /etc/php.ini の session.save_path で定義。
php-fpmは /etc/php-fpm.d/www.conf のphp_value[session.save_path]で定義。

引用:YYUUIIKK BLOG (https://yyuuiikk.org/entry/536)

ちなみに自分はAmazon Linux2で以下のディレクトリでした。

/var/opt/remi/php74/lib/php/session

$ sudo chown root:nginx /var/opt/remi/php74/lib/php/session

session以外にも権限が変わってしまっているディレクトリなども周辺にあるので必要であれば変更してください。

  • トラックバックは閉じられています
  • コメント (0)
  1. コメント 0

CAPTCHA


return top