PHP无限循环阻止访问其他脚本?

B00*_*T3D 6 php loops infinite

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

Ala*_*blo 5

这是一个竞争条件问题。

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

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

  • 这不是“竞争条件”的定义,它是一个简单的锁定资源。虽然正确答案。 (4认同)