【问题标题】:Pusher client subscribed and running from command linePusher 客户端订阅并从命令行运行
【发布时间】:2015-04-28 21:35:32
【问题描述】:

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

如果我在浏览器上运行:

http:/localhost/pusher.php

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

php pusher.php

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

问题:在命令行下运行(推送)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。你熟悉像 cURL 这样的 HTTP 客户端吗?
  • 运行 pusher node.js 客户端...如果需要,您可以通过 php 与之对话。
  • 我已经尝试过了,但没有成功。目前,我已经打开了 24/7 浏览器,并且连接处于实时状态。尽快寻找解决方案

标签: javascript php node.js pusher


【解决方案1】:

JavaScript 几乎严格来说是一种客户端语言(Rhino、nodeJS 等除外),您尝试的内容取决于 Web 浏览器提供的环境,或者更具体地说,是连接到浏览器的虚拟机来解释JS。例如,您可能听说过 Chrome 使用的 V8。

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

您需要查看像 cURL 这样的 PHP HTTP 客户端(或者这些天可能查看 Guzzle)。

至于长期破坏服务器端进程...这些任务通常由人们称为daemon 的人运行。也许阅读这篇文章以开始讨论该主题:Run php script as daemon processKnowing what to Google for you should find大量关于该主题的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 2011-10-02
    • 2022-01-26
    • 2011-05-03
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多