因此,我有一個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