寻找有关PHP会话垃圾收集如何工作的细节
PHP有几个会话设置,可以控制垃圾收集(即删除过期的会话)的可能性.
我的问题是:这个概率是否适用于任何给定Apache服务器上所有虚拟主机上运行的所有Apache线程? 例如: >如果概率设置为1/100,这是否意味着运行PHP进程的任何Apache线程都会进入可能运行gc的进程池? 我正在尝试测量我需要调整给定VirtualHost的gc_probability设置,整个服务器,或者什么.
如果该进程触及session [session_start()],那么是的,它可能会运行垃圾回收. 如果您需要不同的虚拟主机以具有不同的垃圾收集和会话,则应使用session.save_path选项为每个虚拟主机设置不同的路径.您可以在apache虚拟主机配置中使用诸如`php_value session.save_path“/srv/www/www.example.org/sessions”之类的指令执行此操作.如果有多个不同的应用程序运行不同的会话要求,则可能需要设置不同的路径和GC. 老实说虽然PHP会话垃圾收集不是很好.最好完全禁用它并使用从cron启动的脚本来定期清理旧会话.或另一种需要程序支持的替代方法是将会话存储在数据库中. 如果您要为外部方托管东西,那么您几乎肯定希望为每个虚拟主机设置单独的会话目录. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |