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

⚠️ 警告: SDK がアップグレードされました ⚠️

新しい SDK URL: https://github.com/pubnub/php

PHP を動的処理言語として使用して、Apache のような Web サーバー内で Subscribe メソッドを使用する方法について質問しています。これは良い方法ではなく、通常は行う必要がないことに注意してください。リクエスト/レスポンスで Subscribe({...})メソッドを使用しないでください。

$pubnub->subscribe(...)メソッドを使用する正しい方法は、Web サーバーの要求応答モデルを使用せずに、存続期間の長い PHP プロセス内で行うことです。以下に、動作が確認されている例をいくつか示します。

https://github.com/pubnub/php

各例は、PHP でSubscribe APIを使用する場合、Apache などの Web サーバーの外部にある単独の 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 のサブスクライブ機能が壊れており、今後の新しい API で修正される予定です。最近これについてサポートと話し、この情報を提供してくれました。

于 2012-05-27T00:33:14.170 に答える