【发布时间】:2013-08-22 16:39:19
【问题描述】:
所以我有一个 php 文件,它运行一组 sql 查询以获取 id 列表。此文件可能需要一些时间才能运行。
在运行时,我想要一个进度条。
我有它,以便运行文件更新会话变量,指示每组查询后的完成百分比。然后在我的前端,我正在对另一个文件进行 ajax 调用,该文件读取会话变量值并返回它。然后我用返回的百分比更新进度条填充的宽度。
问题: 在所有查询完全完成之前,进度条不会更新。所以我看到我的进度条在 0% 几秒钟后突然跳到 100%。似乎会话被锁定,直到脚本完成。我尝试使用 session_write_close() 但无法让它工作。
谢谢。
【问题讨论】:
-
PHP 中的会话文件在会话运行时被锁定。所以从
session_start()到session_write_close()。另请参阅PHP & Sessions: Is there any way to disable PHP session locking?、PHP session_start() causing HTTP requests to hang 以及有关该主题的许多其他内容。因为它是会话,你需要摆弄它。
标签: php javascript jquery ajax session