【发布时间】:2018-07-09 20:26:31
【问题描述】:
我试图弄清楚如何运行长 php 脚本而不让用户永远等待。我有一个脚本需要运行几个函数,每个函数都需要几秒钟才能运行。
我想知道有没有办法让我的 php 脚本在完成运行之前将其数据返回给调用者?
<?php
echo http_response_code(200);
sleep(60);
run_other_code();
?>
一个非常简单的示例,但我正在寻找脚本来回显响应,然后在后台运行其余代码。这样的事情可能吗?
【问题讨论】:
-
你可能会研究某种形式的队列系统。
-
您可以让您的初始 ajax 请求在后台的命令行中启动另一个 php 脚本。然后它可以立即返回并让用户知道它正在“运行”。如果该后台脚本将其状态写入某处的日志文件,则后续 ajax 请求可以检查此日志以查看脚本是否/何时完成并返回任何结果。
-
纯 PHP 解决方案就像这里解释的那样:stackoverflow.com/questions/2585656/threads-in-php
标签: php