首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP:如何将信息返回到等待的脚本并继续处理?

PHP:如何将信息返回到等待的脚本并继续处理?
EN

Stack Overflow用户
提问于 2018-09-27 00:23:17
回答 2查看 0关注 0票数 0

假设存在两个脚本Requester.php和Provider.php,并且Requester需要从Provider处理并向其发出http请求(Provider.php?data =“data”)。在这种情况下,Provider会快速找到答案,但维护系统必须在整个数据库中执行各种更新。有没有办法立即将值返回给Requester,然后继续在Provider中处理。

Psuedo Code

代码语言:javascript
复制
Provider.php 
{
   $answer = getAnswer($_GET['data']);
   echo $answer;
   //SIGNAL TO REQUESTER THAT WE ARE FINISHED
   processDBUpdates();
   return;
}
EN

回答 2

Stack Overflow用户

发布于 2018-09-27 09:11:59

您可以使用flush()命令刷新输出缓冲区。 阅读PHP手册中的注释以获取更多信息

票数 0
EN

Stack Overflow用户

发布于 2018-09-27 10:09:24

您基本上想要发出1个进程的结束信号(返回原始Requester.php进程)并生成一个新进程(完成Provider.php)。可能有更优雅的方式来解决这个问题,但我已经通过几种不同的方式进行了管理。所有这些都基本上导致执行命令以便关闭第二个进程。

将以下内容添加> /dev/null 2>&1 &到命令的末尾将允许它在后台运行,而不会阻止当前脚本的实际执行

以下内容可能对您有用:

代码语言:javascript
复制
exec("wget -O - \"$url\" > /dev/null 2>&1 &"); 

- 尽管你也可以将它作为命令行PHP进程来完成。

您还可以保存需要处理的信息并处理cron作业上的剩余处理,该作业可以重新创建相同类型的功能而无需执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档