PHP.ini 自訂 session.save_path 權限被拒絕

PHP.ini 自訂 session.save_path 權限被拒絕

我用

  • 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

我還嘗試將現有會話檔案從預設目錄複製到新目錄,但仍然遇到相同的錯誤!

感謝您的幫助。

答案1

好吧,我找到了解決方案,THX @womble 指出問題所在,我至少可以以正確的方式進行搜索,

如果其他人也遇到同樣的問題,SELinux 通常會被停用(不建議),或者通常會被設定為允許 Apache 存取新目錄:

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

相關內容