PHP异步Web服务

时间:2020-03-06 14:40:36  来源:igfitidea点击:

如何使用" PHP SOAP Extension"对Web服务进行异步调用?

解决方案

我的直接答案应该是:我们不能。
PHP没有可在"用户区"中使用的线程处理功能。

现在,如果我们真的想要这样做,可以通过一些方法解决:

  • 使用exec函数可在后台生成另一个进程,并通过数据库/文件系统或者其他监视它。
  • 使用fork函数产生另一个进程,并通过数据库/文件系统或者其他监视它。

这两种方法的缺点是可以使它异步,但是如果要回调,它将非常棘手,而且一点也不琐碎。嗯,它甚至不会成为回调,因为我们将无法在进行异步调用的脚本上等待它。这意味着我们只能拥有某种监视方案。我会建议AJAX。

如果我们能够在Linux中进行命令行php调用,则可以执行pnctl_fork命令并从派生的子进程中调用Web服务。

使用AJAX类型调用在客户端而不是服务器端进行操作。

尝试他们在我的问题中给我的方法:
异步PHP调用?

我不知道为什么古斯塔沃被贬低,因为他是正确的答案。

我使用exec来运行用PHP编写的与Google API联系的shell脚本。我像这样启动脚本:

run.php param1 = 1 param2 = 2&> ajax.txt

运行的最后一行是

回声"完成"

然后我的ajax会继续轮询" ajax.txt",直到发现该过程完成为止。

暴躁,但简单(KISS)

和尚男孩

如果我们使用curl,则它具有一组"多个"调用,以允许并行调用多个服务器...