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,则它具有一组"多个"调用,以允许并行调用多个服务器...