是ini_set('session.save_path','自定义路径');会议垃圾清洁?

时间:2010-12-26 17:28:05

标签: php session

ini_set('session.save_path', 'custom path');会影响会话垃圾清理工具吗?

因为我正在为会话设置一个自定义目录,因为我已经阅读了各种php安全指南,即在会话的共享主机上设置自定义目录;可以提高会话安全性。

但问题是我已经读过某些地方,只有当session_save_path是默认值而没有修改(即使用自定义目录)时,PHP才会/处理会话垃圾清理? - 这是真的,如果是这样的解决方案吗?。

(考虑到我正在使用共享主机)。

感谢所有帮助!

2 个答案:

答案 0 :(得分:1)

垃圾收集器在控制权移交给您的脚本之前启动,因此当GC启动时,php.ini中设置的save_path将生效,而不是您要覆盖的路径。

实际上,如果从脚本中覆盖save_path,则无法使用默认的垃圾收集器。会话文件将存储在覆盖目录中,但GC将查看前一个目录,现在该目录中没有会话文件。

答案 1 :(得分:0)

有些发行版将session.gc_probability设置为0并使用cron作业清理旧会话。在这样的配置中,自定义路径有效地防止清理。如果您的安装属于这种情况,请将session.gc_probabilitysession.gc_divisor设置为大于0的值。