index.php由Apache解析。它需要将一些数据传递给另一个恰好是reactphp循环的PHP实例。如何才能最好地完成?这两个脚本都在同一台机器上运行。
<?php
//index.php
$status=sendDataToOtherInstance('hello'); //blocking function which returns true/false
<?php
//reactphp loop
$foo->on('connection', function ($data){
echo($data);
return $data==='hello';
});
答案 0 :(得分:0)
您需要某种进程间通信。
你可以用IPC(当然)来做;使用共享内存。或者性能稍差,但恕我直言更好的可管理性,使用RAM磁盘或临时文件系统上的临时文件。当然,IPC还使您能够等待信号资源,这可能会变得方便并提高响应能力(您可以通过在reactphp过程中打开套接字或完整的HTTP服务器来实现相同的目标)。
您也可以通过利用外部应用程序(例如某些* MQ或Redis)来实现此目的。
如果你有一个像MySQL这样的数据库,你可以拥有两个进程&#34;通信&#34;通过共享表。
答案 1 :(得分:0)
几个选项:
两个进程之间的HTTP
就像你说这有点乱,不是太糟糕,它会很快,但有点凌乱。
Unix套接字文件
唯一的问题是reactphp
在一分钟内无法使用unix套接字。
TCP套接字
这应该有效。但就像第一种选择一样笨重。
说实话,这听起来像是达到了php的极限。
<强> Node.js的强>
我不确定你是否曾经使用它,但node.js
是为了这类任务而做的。并允许PHP没有很多功能。
答案 2 :(得分:0)
正如LSemi
所说你可以使用共享内存来实现,或者基本上你已经有了一个WebSocket服务器为什么不通过PHP WebSocket客户端库获得响应?