【问题标题】:Multiple files accessing Session at the same time多个文件同时访问 Session
【发布时间】:2013-08-22 16:39:19
【问题描述】:

所以我有一个 php 文件,它运行一组 sql 查询以获取 id 列表。此文件可能需要一些时间才能运行。

在运行时,我想要一个进度条。

我有它,以便运行文件更新会话变量,指示每组查询后的完成百分比。然后在我的前端,我正在对另一个文件进行 ajax 调用,该文件读取会话变量值并返回它。然后我用返回的百分比更新进度条填充的宽度。

问题: 在所有查询完全完成之前,进度条不会更新。所以我看到我的进度条在 0% 几秒钟后突然跳到 100%。似乎会话被锁定,直到脚本完成。我尝试使用 session_write_close() 但无法让它工作。

谢谢。

【问题讨论】:

标签: php javascript jquery ajax session


【解决方案1】:

我遇到了类似的问题,会话解决方案不起作用。我的解决方案是将当前状态写入一个临时 .txt 文件,然后使用 ajax 调用读取该文件。

【讨论】:

    【解决方案2】:

    这样做的问题是会话变量不是在运行时存储的。他们将等到脚本完成后再将变量存储在会话中。一种解决方案是将进度临时存储在数据库或文件中,并使用 AJAX 定期访问数据。

    另一种解决方案是使用服务器端 javascript,例如 Googles V8 Engine (Node.js),并根据您的进度触发事件。然后,您的页面将根据被触发的 javascript 事件进行更新。

    【讨论】:

      猜你喜欢
      • 2011-12-19
      • 2012-06-29
      • 2015-06-02
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多