Pusher 客户端从命令行订阅并 运行

Pusher client subscribed and running from command line

我在 php 文件中集成了一些脚本。 它正在读取 Pusher 频道,并在列出的频道上有新事件时执行多项操作。

如果我 运行 在浏览器上:

http:/localhost/pusher.php

并让它打开推送器连接继续读取,但是如果我关闭它或在命令行上 运行:

php pusher.php

脚本在不到一秒的时间内打开和结束关闭连接并且不读取未来的条目。

问题: 运行 (pusher) js 并在命令行下保持打开和读取的更简单方法是什么?

<?php require 'vendor/autoload.php'; ?>

<html>

<script src="//js.pusher.com/2.2/pusher.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>


<script type="text/javascript" language="javascript"> var pusher = new Pusher('key'); var channel = pusher.subscribe('betfair');
    channel.bind('bets', function(data) {
      var a = data.market_id;
      var b = data.selection;
      var c = data.stake;
      var d = data.odd;
      var e = data.bet_type;


        record(a, b, c, d, e); 

    });


function record(a,b,c,d,e) {    console.log(a);
    jQuery.ajax({
        type: "POST",
        url: 'time2.php',
        data: {a, b , c , d, e}, 
        success:function(record) {
         console.log(data); 
         }
    });
     }    

</script> </html>

JavaScript 几乎是严格意义上的客户端语言(Rhino、nodeJS 等除外),您尝试的内容取决于网络浏览器提供的环境,或者更具体地说是虚拟机附加到解释 JS 的浏览器。例如,您可能听说过 Chrome.

使用的 V8

当您通过命令行 运行 脚本时,它只会呈现该 JS。没有任何东西真正解析它。

最近你需要看看像 cURL (or maybe look at Guzzle 这样的 PHP HTTP 客户端。

至于长期破坏服务器端进程...这些任务通常 运行 人们称之为 daemon。也许阅读这篇文章以开始该主题:Run php script as daemon process 知道要 Google 应该找到很多关于该主题的内容。