2012-05-14 111 views
0

我需要重大帮助!Pubnub PHP订阅功能

我有麻烦让Pubnub订阅功能与PHP一起工作!我可以使发布功能工作,但不是订阅功能。我直接从Pubnub网站复制了一些代码,但我没有收到任何东西。任何帮助?另外,我的PHP版本是5.2。*。

代码:

<? 
include("Pubnub.php"); 
$pubnub = new Pubnub(
    "not showing you", // PUBLISH_KEY 
    "not showing you", // SUBSCRIBE_KEY 
    "",  // SECRET_KEY 
    false // SSL_ON? 
); 
$pubnub->subscribe(array(
'channel' => 'Chat', 
'callback' => create_function(
    '$message', 
    'var_dump($message); return true;' 
    ) 
)); 
?> 
+1

我们无法解决我们无法看到的问题,也无法诊断您不提供任何详细信息。 “不起作用”是无用的。 –

+0

它只是给我随机的错误,根本没有任何意义。我将添加一些我正在尝试修复的代码。 – ThePHPGeek

+0

也许这些错误对你没有任何意义,但它们会有一些意义,并有助于诊断问题。请张贴他们。 – deceze

回答

1

⚠️警告:SDK已经升级⚠️

新SDK网址:https://github.com/pubnub/php

你问的方式来使用使用PHP作为动态处理语言的Apache服务器中的Subscribe方法。请注意,这不是一种好的做法,通常不需要做。您不会在请求/响应中使用订阅({...})方法。

使用$ pubnub-> subscribe(...)方法的正确方法是在一个长期存在的PHP过程中,不涉及Web服务器请求 - 响应模型。下面是一些例子,被确认工作:

https://github.com/pubnub/php

注意,每个示例假设在一个孤独的PHP程序外面像Apache Web服务器的使用当订阅在PHP API 。然而! Publish() API可以在任何地方使用,包括Apache Web服务器。

读史瓦特/ Apache的PHP

正如你会很高兴把我们的历史API的优势的替代方案。您可以使用此功能在队列中查询消息并接收消息。下面是一个例子PHP历史API用法:

<?php 

## Capture Publish and Subscribe Keys from Command Line 
$publish_key = "YOUR_PUBLISH_KEY"; 
$subscribe_key = "YOUR_SUBSCRIBE_KEY"; 

## Require Pubnub API 
require('../Pubnub.php'); 

## ----------------------------------------- 
## Create Pubnub Client API (INITIALIZATION) 
## ----------------------------------------- 
$pubnub = new Pubnub($publish_key, $subscribe_key); 

## Get History 
echo("Requesting History...\n"); 
$messages = $pubnub->history(array(
    'channel' => 'hello_world', ## REQUIRED Channel to Send 
    'limit' => 100   ## OPTIONAL Limit Number of Messages 
)); 
var_dump($messages);   ## Prints Published Messages. 

?> 
+1

谢谢你的回答!我现在正在使用历史记录,因为它非常有用。我想我现在只会坚持使用我的JavaScript订阅。我会找到一些方法让我的脚本能够处理我需要做的事情! – ThePHPGeek

+1

您提供的链接已死亡,是否有替代方案? – Script47

+0

谢谢@ Script47我会更新网址 – PubNub

1

PHP的订阅功能被破坏,将其固定在一个即将到来的新的API,我支持最近关于这个交谈,他们给了我这个信息。