如何让exec自己运行,php页面继续运行

发布网友 发布时间:2022-04-06 06:47

我来回答

4个回答

热心网友 时间:2022-04-06 08:16

当PHP作为后端处理需要完成一些长时间处理,为了快速响应页面请求,不作结果返回判断的情况下,可以有如下措施:
一、若你使用的是FastCGI模式,使用fastcgi_finish_request()能马上结束会话,但PHP线程继续在跑。

这个例子输出结果可看到输出program start.后会话就返回了,所以debug那个输出浏览器是接收不到的,而log.txt文件能完整接收到三个完成时间。

二、使用fsockopen的非阻塞模式请求另外的网址

三、使用Gearman
Gearman是一个具有php扩展的分布式异步处理框架,能处理大批量异步任务。

热心网友 时间:2022-04-06 09:34

在php中,如果出现exec();那么php是先运行完exec中的外部命令,然后继续执行接下来的php语句的。有什么办法让exec自己在那运行,php语句不等待,自己运行下去,让浏览器不用等待。谢谢。

Note:

如何程序使用此函数启动,为了能保持在后台运行,此程序必须将输出重定向到文件或其它输出流。 否则会导致 PHP 挂起,直至程序执行结束。

exec("命令 > null");

热心网友 时间:2022-04-06 11:09

让exec先处理,php不等待继续执行后续代码?
你可以看看多线程,或者用队列。

热心网友 时间:2022-04-06 13:00

定时任务。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com