我用
- 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