環境
- RHEL9.3
- PHP8.0
事象
dnf update php*
して、PHPのバージョンが上がると、
/var/lib/php/session のユーザー、グループ、パーミッションが、
root:apache 700
になってしまう。
ちなみにRocky Linux9.3の場合は、
root:apache 770
になった。
原因
仕様。これを防ぐ方法は、いまのところ、無い。(多分、おそらく)
対処
PHPバージョンアップの都度、
chmod 777 /var/lib/php/session
するか(セキュリティ鑑みて適切なパーミッションを設定するように)、
コレがめんどくさいなら、例えば以下の様にsession用のフォルダを別に作っちゃえば、PHPバージョンアップの際に「オーナー」や「パーミッション」が勝手に変更されることは無いみたいです。
最初の設定だけ手間ですが。
#
# cd /var/lib/php
#
↓
sessionファイル名を保存するディレクトリを作成する
[root@a58761e69674 php]# mkdir kuzu_session
↓
# chown kuzu kuzu_session/
↓
パーミッションを700に設定する
# chmod 700 kuzu_session
↓
/etc/php-fpm.d/www.conf
の設定を変更する。
php_value[session.save_path] = /var/lib/php/kuzu_session
↓
php-fpm再起動して設定反映。
systemclt restart php-fpm
コメント