我的 PHP 会话数据文件夹有问题。它似乎没有到期会话并且已经达到某种限制,大概是目录中文件的文件系统限制。由于磁盘空间不足,涉及写入会话的请求失败并显示致命错误。
我通过将 指向sessions.save_path
一个新目录来临时解决它。
想知道我php.ini
有什么问题阻止会话过期。
我也尝试使用截断sessions
目录,rm
但它似乎永远挂起?
问题目录:
drwxr-xr-x 2 www-data www-data 294215680 Jan 5 13:42 sessions
Run Code Online (Sandbox Code Playgroud)
会话部分php.ini
:
[Session]
session.save_handler = files
session.save_path = "N;/var/www/data/sessions"
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 2592000
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 0
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
Run Code Online (Sandbox Code Playgroud)
session.save_path = "N;/var/www/data/sessions"
Run Code Online (Sandbox Code Playgroud)
这似乎没有引起问题(因为 PHP 显然正在生成会话),但不正确。
此选项的两种格式是:
/path/to/sessions
N;/path/to/sessions
Run Code Online (Sandbox Code Playgroud)
该整数 N
确定有多少子目录指定路径下创建的,有用的,如果你想到了很多的会议文件,会议文件,以分布在大量的目录。(您已经发现系统不喜欢一个目录中的大量文件......)
session.gc_probability = 0
Run Code Online (Sandbox Code Playgroud)
这很可能是主要问题(除非 PHP 自动处理有人将其错误地设置为 0)
清除发生的概率由 定义probability/divisor
。0/1000
是 0,所以可能永远不会运行。
编辑:关于删除文件,您可能只需要等待它完成。如果它是数百万个文件,它可能看起来像是挂了。
归档时间: |
|
查看次数: |
7127 次 |
最近记录: |