zoukankan      html  css  js  c++  java
  • PHP

         之前写某些代码的时候,发现用户莫名奇妙地阻塞了,而且这种阻塞的情况还比较难以形容: 使用session过程中,在开启session后,同一浏览器,执行同一程序,不同页面会被锁。不同浏览器不会出现这种情况。

        (当时的情况是:需要执行一个非常长时间的脚本,我已经设置了用户断开不中断,无时间限制执行,但是最后发现执行这个脚本的时候,用户就不能访问其他页面了)

    其实最开始的时候,我并不知道是session 把它锁住了,查了半天手册才知道,看来真的是先天不足。

         在PHP BugList上面有人提到如下:  

    ------Calling session_start() appears to wait until other scripts have exited that are using the same session. My guess is the 1st request locks the session file <exclusive use, and the second request blocks until it 。

       PHP的官方回复是:

    Thank you for taking the time to write to us, but this is not a bug. This is expected.  The session file is locked to avoid corruption.

       其实对于这种问题是有一个解决办法

       session_write_close函数,write session data and end sesion。也就是自动放弃了session的锁,其他的脚本也就可以执行了。哎

  • 相关阅读:
    Scala集合
    Spark常用算子
    Flink运行架构
    Flink 有状态的算子和应用程序
    Flink 状态一致性
    Flink 检查点(checkpoint)
    Flink 时间语义与watermark
    Flume的可靠性保证:故障转移、负载均衡
    Hive 文件存储格式
    BPM与OA区别
  • 原文地址:https://www.cnblogs.com/maxmys/p/3327251.html
Copyright © 2011-2022 走看看