7

在 Apache 上的 PHP 中运行无限循环时,其他页面/脚本会挂起(需要永远加载),直到我中断脚本的执行。但是,其他页面仍将在不同的用户会话或浏览器上执行。这可以解决吗?

4

1 回答 1

5

这是一个竞争条件问题。

session_start()会话后,附加到会话 ID 的文件会以限制性权限打开(锁定为读取和写入)。如果另一个session_start()被调用,它将等待会话文件被解锁,以避免第二个脚本异步修改会话。

看看这篇文章,它比我更能解释发生了什么。

于 2012-12-24T13:45:35.520 回答