2

我需要重大帮助!

我无法让 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;'
    )
));
?>
4

2 回答 2

2

⚠️ ALERT:SDK 已升级⚠️

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

您正在询问一种在使用 PHP 作为动态处理语言的 Web 服务器(如 Apache)中使用订阅方法的方法。请注意,这不是一个好的做法,通常没有必要这样做。您不会在请求/响应中 使用Subscribe({...})方法。

使用$pubnub->subscribe(...)方法的正确方法是在一个长期存在的 PHP 进程中,不涉及 Web 服务器请求-响应模型。以下是一些已确认有效的示例:

https://github.com/pubnub/php

请注意,当在 PHP 中使用订阅API时,假定每个示例都位于 Web 服务器(如 Apache)之外的一个单独的 PHP 进程中。然而!Publish() API 可以在任何地方使用,包括 Apache Web 服务器 。

使用 Apache PHP 阅读历史

作为替代方案,您将很高兴利用我们的 HISTORY API。您可以使用此查询队列中的消息并接收消息。下面是一个 PHP History 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.

?>
于 2012-05-14T22:50:03.737 回答
1

php subscribe 功能已损坏,将在即将推出的新 api 中修复,我最近与支持人员讨论了这个问题,他们给了我这个信息。

于 2012-05-27T00:33:14.170 回答