如何异步运行另一个进程,从PHP脚本返回数据

时间:2015-03-04 10:54:42

标签: php asynchronous return

所以我构建了一个使用API​​的应用。

当有人使用该API向我的数据库提交一些数据时,我希望他们能够尽快继续使用该应用程序。现在我的问题是,当他们提交数据时,我想通知其他用户用户已经这样做了。在我眼中实现这一目标的最佳方式是推送通知。

然而,当他们提交数据时,我会收集所有想要发送推送通知的用户并循环播放这些数据,如果有很多用户,API会在功能完成之前花费很多时间执行。

我希望能够将数据发送回客户端并继续执行PHP脚本,因为客户端无需等待,直到完成。是不是可能用PHP异步发送数据并继续执行脚本?

1 个答案:

答案 0 :(得分:0)

有许多方法可以在PHP中创建异步消息。

  • 使用事件驱动的库,例如React
  • 使用ZeroMQ(有或没有React)通过TCP套接字向另一个服务发送消息。
  • 使用shell_exec("your-cmd > /dev/null 2>/dev/null &")执行后台shell脚本,其中your-cmd是脚本或其他可执行文件;其余的确保PHP允许进程在后台运行。
  • 按[此问题中详述](Asynchronous HTTP requests in PHP
  • 创建异步HTTP请求