PHP.ini カスタム session.save_path 権限が拒否されました

PHP.ini カスタム session.save_path 権限が拒否されました

私が使う

  • Centos 7 (最新アップデート)
  • アパッチ2.4.6
  • PHP7.2 について

サーバー上でセッションが保存されるディレクトリを変更したいのですが、デフォルトのディレクトリは で/var/lib/php/session/、このディレクトリは問題なく使用できますが、PHP.iniファイル内のディレクトリを変更すると、エラーが発生します。

session_start(): open(/var/www/session/sess_dug784eu96aj06eh1gte4hak2f, O_RDWR) failed: Permission denied (13)

また、セッション ディレクトリが上書きされないように、php.conf内部を編集してこの行を削除しました。/etc/httpd/conf.d

php_value session.save_path    "/var/lib/php/session"

ご覧のとおり、/var/www/session/セッションを保存するために新しいディレクトリを使用しており、このディレクトリは存在し、デフォルトのディレクトリとまったく同じ権限を持っています。

0770 / owner : root / group : Apache

既存のセッション ファイルを既定のディレクトリから新しいディレクトリにコピーしようとしましたが、それでも同じエラーが発生します。

助けてくれてありがとう。

答え1

解決策を見つけました。問題がどこにあるか指摘してくれた@wombleに感謝します。少なくとも正しい方法で検索できました。

他の人にも同じ問題がある場合は、SELinux を無効にするか (推奨されません)、Apache が新しいディレクトリにアクセスできるように設定する必要があります。

chcon -t httpd_sys_rw_content_t /var/www/session -R

関連情報