首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从PHP脚本传递到PHP事件流

问将数据从PHP脚本传递到PHP事件流
EN

Stack Overflow用户
提问于 2016-11-20 13:30:35
回答 1查看 901关注 0票数 0

因此,我有一个PHP文件,它将随机接收第三方发布的新数据。为了简单起见,让我们将其命名为get_data.php,并将其称为如下所示:

代码语言:javascript
复制
<?php
$data = $_REQUEST;
// Data processing

然后我有一个单独的脚本stream.php,它使用HTML5 服务器发送事件将数据流到(JS)客户端:

代码语言:javascript
复制
<?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从第一个脚本传递到第二个脚本。

我知道我可以通过将变量存储在DB或temp文件中来实现这一点,但理想情况下,我可以单独使用PHP来实现这一点。

在另一个文件中包含一个文件看起来也不是一个好的选择,因为流头可能会在第三方发布数据时把事情搞砸,我希望将数据处理与流分开,以防后者崩溃。

注意到--这并不是询问如何在网页上在$_SESSION脚本之间传递数据的其他问题,因为我似乎不能使用$_SESSION变量,因为数据是由与访问事件流的用户不同的第三方发布的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-20 13:39:36

您可以使用共享内存在离散脚本之间传递数据。http://php.net/manual/en/intro.sem.php

这将需要两个脚本都运行在同一台物理机器/vm上,并且需要确定一种方法来确定哪个共享内存块用于哪个会话。

您可以将其与系统消息队列结合起来,以指示新数据何时(以及可能在何处)到达。尽管要小心,因为这些是在Linux/BSD/Unix系统上用不同的限制实现的(MacOS有一些Linux没有的恼人的限制)

HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40704594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档