ini_set('session.save_path', 'custom path');
会影响会话垃圾清理工具吗?
因为我正在为会话设置一个自定义目录,因为我已经阅读了各种php安全指南,即在会话的共享主机上设置自定义目录;可以提高会话安全性。
但问题是我已经读过某些地方,只有当session_save_path是默认值而没有修改(即使用自定义目录)时,PHP才会/处理会话垃圾清理? - 这是真的,如果是这样的解决方案吗?。
(考虑到我正在使用共享主机)。
感谢所有帮助!
答案 0 :(得分:1)
垃圾收集器在控制权移交给您的脚本之前启动,因此当GC启动时,php.ini中设置的save_path将生效,而不是您要覆盖的路径。
实际上,如果从脚本中覆盖save_path,则无法使用默认的垃圾收集器。会话文件将存储在覆盖目录中,但GC将查看前一个目录,现在该目录中没有会话文件。
答案 1 :(得分:0)
有些发行版将session.gc_probability
设置为0
并使用cron作业清理旧会话。在这样的配置中,自定义路径有效地防止清理。如果您的安装属于这种情况,请将session.gc_probability
和session.gc_divisor
设置为大于0
的值。