PHP 会话文件的权限为 000 - 无法使用

PHP 会话文件的权限为 000 - 无法使用

我在尝试安装文档管理系统时一直遇到问题,因为在安装过程的第一步,它会出现以下错误:

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覆盖权限,你可以将以下指令放在你的或文件夹.htaccesspublic_htmlhttpdocs

php_value session.save_path '/yourpath/sessionfolder'

如果您未phpsuphp模式下运行,请确保该文件夹可由其他人写入(777

答案2

此帐户是否有特殊umask设置?似乎有人在某个地方设置不正确。它应该返回类似以下内容的内容:

% umask
0022

答案3

答案4

尝试改变umask在实际应用中。

找到 index.php 或 bootstrap 文件,并在顶部添加:

umask(0022);

相关内容