Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
它是否仍然是,或者曾经是,*实际上*可能“是的”;将网页发送给客户“;然后在PHP脚本完成之前继续工作?_Php_Http_Optimization_Webserver_Flush - Fatal编程技术网

它是否仍然是,或者曾经是,*实际上*可能“是的”;将网页发送给客户“;然后在PHP脚本完成之前继续工作?

它是否仍然是,或者曾经是,*实际上*可能“是的”;将网页发送给客户“;然后在PHP脚本完成之前继续工作?,php,http,optimization,webserver,flush,Php,Http,Optimization,Webserver,Flush,这种情况目前正在发生: 有人要求 我的PHP脚本做了很多事情,包括许多SQL查询,为每个查询向数组添加条目 我运行“flush database log”函数,该函数循环遍历该数组,并将SQL查询实际插入到我的数据库查询日志中 脚本完成后,将所有HTML输出发送到客户端 为了防止客户等待的时间过长,我希望这样做: 有人要求 我的PHP脚本做了很多事情,包括许多SQL查询,为每个查询向数组添加条目 脚本将输出发送到客户端 我运行“flush database log”函数,该函数循环遍历该数组,并

这种情况目前正在发生:

  • 有人要求
  • 我的PHP脚本做了很多事情,包括许多SQL查询,为每个查询向数组添加条目
  • 我运行“flush database log”函数,该函数循环遍历该数组,并将SQL查询实际插入到我的数据库查询日志中
  • 脚本完成后,将所有HTML输出发送到客户端
  • 为了防止客户等待的时间过长,我希望这样做:

  • 有人要求
  • 我的PHP脚本做了很多事情,包括许多SQL查询,为每个查询向数组添加条目
  • 脚本将输出发送到客户端
  • 我运行“flush database log”函数,该函数循环遍历该数组,并将SQL查询实际插入到我的数据库查询日志中
  • 脚本完成,用户无需等待“刷新数据库日志”函数,该函数在从用户角度加载页面后执行
  • 我知道各种各样的
    flush
    ob\u flush
    ob\u flush\u clean
    和800个不同的函数,比如PHP中的函数。我还知道,用户评论和一般在线建议中充满了警告,说明这可能不再有效,或者根本就不起作用,这显然取决于服务器的Web服务器/操作系统


    我能否一劳永逸地得到一个2020年的答案,看看这是否有效?而且,如果它真的起作用,我应该使用哪种功能来“只发送网页;就用户而言,我已经完成了”

    是的,这曾经是可能的。我不记得细节了。。。那是十年前的事了,但我想我做了一个简单的叉子。通常,它只是将一个作业排队等待后台守护进程来处理,这样我就可以异步跟踪进度。您可以将所有内容输出给用户,脚本将继续在后台运行。虽然它并不完美,但您可能想看看PHP以外的东西。@JayBlanchard请具体说明它是什么“不完美”,这就是我的问题所在。你说的“看”PHP以外的东西是什么意思?