Php

PHP.ini 自定義 session.save_path 權限被拒絕

  • September 3, 2018

我用

  • Centos 7(最新更新)
  • 阿帕奇 2.4.6
  • PHP 7.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

我還嘗試將現有會話文件從預設目錄複製到新目錄,但我仍然得到同樣的錯誤!

感謝您的幫助。

好的,我找到了解決方案,THX @womble 指出問題所在,我至少可以搜尋正確的方法,

如果其他人有同樣的問題,SELinux 大部分是禁用的(不推薦),或者它大部分被配置為允許 Apache 訪問新目錄:

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

引用自:https://serverfault.com/questions/929156