1. 首页
  2. 与代码
  3. 内容详情

session文件存储导致的页面阻塞问题解决方法

小小酥 2021-08-19 586

问题表现

使用了session的两个页面,一个页面在加载中的时候,打开另一个页面会非常缓慢,页面阻塞。

问题原因

在PHP语言的session默认存储在文件中,使用session_start()方法之后就会对该sessionId文件锁定,直到还脚本执行完毕才存入文件和解锁,这就会导致页面一个页面阻塞。

解决方案

方法一:更换session存储方式

可以将PHP的session存储方式改为Redis或者Memcached存储

方法二:优化session写法

在写入session后立刻使用session_write_close()方法,对session文件进行解锁即可。

特别注意,在使用此方法解锁后,session可正常读取,但是要继续写入session,需要再次使用session_start()方法!

小小酥

小小酥

全栈程序猿

关于我