PHP页面进程分离

时间:2012-07-10 02:02:05

标签: php http caching process

如果某个php页面正在运行一些长时间的进程,例如sleep或while循环,这会导致它需要一段时间才会加载,它会影响来自同一页面的其他进程吗?,
我注意到当我尝试使用不同的短流程打开同一页面时,加载也需要很长时间,并且要清楚它在第一个(长流程)之前没有加载,

我的代码是真的还是有问题以及如何防止它? 我认为它与缓存有关,我不想在获得提示或答案之前搞砸了

2 个答案:

答案 0 :(得分:2)

PHP在一个进程中运行,每次访问该页面时,都会启动进程,进程和完成。 每个过程都不​​会影响其他过程。

答案 1 :(得分:1)

  

当我尝试用不同的短片打开同一页面时,我注意到了   过程,[...]它不会在第一个(长过程)之前加载

最常见的原因:

  • 您的脚本“按原样”使用PHP会话,它使用文件锁定。文件锁定机制确保一次只有一个脚本可以编辑每个用户的会话数据,但这确实意味着如果同一个用户同时发生两个请求,那么第二个脚本在第一个脚本完成之前就不会启动在会话上(两个不同的用户有不同的会话文件,所以他们不能碰撞)
  • 浏览器会自动检测到该网页需要很长时间并在后台故意延迟后续请求 - 我相信这是Google Chrome默认执行的操作。

然而,两种情况都是相对安全的,因为延迟仅在同一用户试图同时加载多个页面时才出现,这是不常见的 - 不管用户加载实际页面需要多长时间,用户都不会看到延迟。 / p>

有关in this excellent SO answer主题的更多信息。