因此,我有一个PHP文件,它将随机接收来自第三方的新发布数据。为了简单起见,我们把它叫做get_data.php
说,它看起来是这样的:将数据从PHP脚本传递到PHP事件流
<?php
$data = $_REQUEST;
// Data processing
然后,我有一个单独的脚本,stream.php
,这是使用HTML5 Server-Sent Events以数据流的(JS)客户端:
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
while (true) {
echo 'data: ' . $data . PHP_EOL;
echo PHP_EOL;
ob_flush();
flush();
sleep(1);
}
每个脚本本身工作正常。但是,我需要将$data
从第一个脚本传递到第二个脚本。
我知道我可以通过将变量存储在数据库或临时文件中来实现此目的,但理想情况下,我只能通过PHP来完成此操作。
将另一个文件包含在另一个文件中看起来不是一个好选择,因为流标题可能会让第三方发布数据而让事情变得糟糕,而且我希望保持数据处理独立于在后者崩溃的情况下流。
注意 - 这不是要求给我貌似不能使用$_SESSION
变量的数据是由第三方不是用户的不同发布如何通过网页上的PHP脚本之间的数据,其他问题重复访问事件流。
您必须存储在某个地方。对于这样的事情,你需要一个消息系统。查看Redis pubsub,RabbitMQ或ZeroMQ作为出发点。 – bcmcfc