2012-05-14 226 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,我支持最近關於這個交談,他們給了我這個信息。