这篇文章主要介绍了php提示Failed to write session data错误的解决方法,较为详细的分析了session写入错误的原因与解决方法,并附带说明了php的工作机制,非常具有
本文较为详细的分析了php提示Failed to write session data错误的解决方法。分享给大家供大家参考。具体方法如下:
一、问题:
提示信息:Warning: Failed to write session data (files).Please verify that the current setting of session.save_path is correct () in Unknown on line 0
二、解决方法:
代码如下:
复制代码 代码如下:
session.save_path = "D:/phprun/tmp"
这个为自定义文件夹 指向错误导致,系统默认不会出现,提示有时还有可能是目录没有写的权限,所以大家给权限就可以了。
由于PHP的工作机制,它并没有一个daemon线程来定期的扫描Session信息并判断其是否失效,当一个有效的请求发生时,,PHP 会根据全局变量 session.gc_probability和session.gc_divisor的值,来决定是否启用一个GC, 在默认情况下,session.gc_probability=1, session.gc_divisor =100也就是说有1%的可能性启动GC(也就是说100个请求中只有一个gc会伴随100个中的某个请求而启动).
PHP垃圾回收机制的工作就是扫描所有的Session信息,用当前时间减去session最后修改的时间,同session.gc_maxlifetime参数进行比较,如果生存时间超过gc_maxlifetime(默认24分钟),就将该session删除。
但是,如果你Web服务器有多个站点,多个站点时,GC处理session可能会出现意想不到的结果,原因就是:GC在工作时,并不会区分不同站点的session.
希望本文所述对大家的PHP程序设计有所帮助。