ZFWordPress™

PHP Session file permission settings

3104 views
It takes about 2 minute(s) to read this content.

CentOS 7 上の NGINX・php が動作するサーバで「yum update」などでの更新後、session_start() でパーミッションエラーが発生することがある。どうやらパッケージマネージャが session ファイル保存ディレクトリのパーミッションをデフォルトに戻してしまうようだ。(Apache ではこの問題が起きない)

デフォルトでは /var/lib/php/session (php7.3)等になっていると思うが、これをパッケージマネージャが関与しないディレクトリに移動してしまえば、問題が発生しないのではないかと考え session.save_path ディレクティブで別のディレクトリを指定する。

# vim /etc/php-fpm/www.conf
php_value[session.save_path]    = /var/session >> 追記

# mkdir /var/session
# chown nginx:nginx /var/session
# chmod 600 /var/session
# systemctl reload php-fpm.service

ただし、php-fpm を使用していない場合は…

# vim /etc/php.ini
session.save_path = "/var/www/session" >> 追記

この設定で php 等のアップデートを yum で行っても問題が起きなくなっている。

Comments

No commented yet.

Share on FacebookShare on TwitterShare on Pinterest