
我嘗試安裝的文件管理系統一直有問題,因為在安裝過程的第一步,它會出現錯誤:
Warning: Unknown: open(/tmp/sess_d39cac7f80834b2ee069d0c867ac169c, O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
我查看了 /tmp 並看到 sess_* 檔案具有以下權限
---------- 1 vanced vanced 1240 Jan 20 08:48 sess_d39cac7f80834b2ee069d0c867ac169c
所有會話文件看起來都是這樣的。顯然,PHP 無法使用它們,這給我帶來了很多問題。
如何讓 PHP 設定正確的權限?我嘗試將 php.ini 使用的目錄更改為 /tmp/phpsessions ,但出現了相同的情況。這些目錄是a+rwx
.
答案1
該/tmp
資料夾是會話檔案的預設佔位符。最好使用您自己的自訂會話資料夾
如果您的主機允許.htaccess
覆蓋權限,您可以將以下指令放在您的.htaccess
下public_html
或httpdocs
資料夾中
php_value session.save_path '/yourpath/sessionfolder'
如果您沒有php
在suphp
模式下運行,請確保該資料夾可供其他人寫入 ( 777
)
答案2
umask
這個帳戶有特殊設定嗎?看起來好像有人在某個地方設置不當。它應該會返回類似以下內容:
% umask
0022
答案3
答案4
嘗試改變遮罩在實際應用中。
找到index.php或bootstrap文件,並在頂部添加:
umask(0022);