PubNub PHP SDK V4 Issues


 
Thread Tools Search this Thread
Top Forums Web Development PubNub PHP SDK V4 Issues
# 1  
Old 04-22-2019
PubNub PHP SDK V4 Issues

Any idea why this fails?

Here is a PubNub PHP SDK V4 working code which throws the error:

Code:
PHP Parse error:  syntax error, unexpected 'use' (T_USE) in  .....

According to the PubNub docs, V4 of the PHP SDK support PHP v5.6, so I'm really confused as to why this error.

Directly from this PubNub here:

Code:
<?php
require_once('vendor/autoload.php');

use PubNub\PubNub;
use PubNub\Enums\PNStatusCategory;
use PubNub\Callbacks\SubscribeCallback;
use PubNub\PNConfiguration;
 
class MySubscribeCallback extends SubscribeCallback {
    function status($pubnub, $status) {
        if ($status->getCategory() === PNStatusCategory::PNUnexpectedDisconnectCategory) {
            // This event happens when radio / connectivity is lost
        } else if ($status->getCategory() === PNStatusCategory::PNConnectedCategory) {
            // Connect event. You can do stuff like publish, and know you'll get it
            // Or just use the connected event to confirm you are subscribed for
            // UI / internal notifications, etc
        } else if ($status->getCategory() === PNStatusCategory::PNDecryptionErrorCategory) {
            // Handle message decryption error. Probably client configured to
            // encrypt messages and on live data feed it received plain text.
        }
    }
 
    function message($pubnub, $message) {
        // Handle new message stored in message.message
    }
 
    function presence($pubnub, $presence) {
        // handle incoming presence data
    }
}
 
$pnconf = new PNConfiguration();
$pubnub = new PubNub($pnconf);
 
$pnconf->setSubscribeKey("my_sub_key");
$pnconf->setPublishKey("my_pub_key");
 
$pubnub->addListener($subscribeCallback);
 
// Subscribe to a channel, this is not async.
$pubnub->subscribe()
    ->channels("hello_world")
    ->execute();
 
// Use the publish command separately from the Subscribe code shown above.
// Subscribe is not async and will block the execution until complete.
$result = $pubnub->publish()
              ->channel("hello_world")
              ->message("Hello PubNub")
              ->sync();
 
print_r($result);

# 2  
Old 04-22-2019
For PubNub PHP SDK V3, this bare bones should work (installed with composer):

Code:
<?php
require_once('/var/www/pubnub_v3/vendor/autoloader.php'); 

$skey = "my-sub-key"; 
$pkey =  "my-pub-key"; 

$pubnub = new Pubnub($pkey, $skey ); 
$pubnub->publish(array('channel' => 'ch1', 'message' => array('some_text' => 'hello!')));

But this also produces an error:

Code:
PHP Fatal error:  Class 'Pubnub' not found in .....

But I searched in the file and the class Pubnub is there.

I repeated this bare bones PHP SDK for V4 and have the same error.

Hmmm. What's up with all these broken PubNub SDKs, LOL ?
# 3  
Old 04-23-2019
Thanks to the excellent tech support team at PubNub, I have PubNub working with our PHP backend.

Thanks Trevor at PubNub.

This PubNub PHP SDK V4 test code works with PHP 5.6:

Code:
<?php
require __DIR__.'/vendor/autoload.php';

use PubNub\PNConfiguration;
use PubNub\PubNub;

date_default_timezone_set('GMT');

$pnconfig = new PNConfiguration();
$pnconfig->setPublishKey("demo");
$pnconfig->setSubscribeKey("demo");
$pubnub = new PubNub($pnconfig);

$data = array(
        "username" => "Server",
         "text" => "Test from PHP",
         "time" => time()
    );

$result = $pubnub->publish()->channel("demo")->message($data)->sync();

print_r($result);

?>

Great technical support from PubNub. Thank you!

Image
This User Gave Thanks to Neo For This Post:
# 4  
Old 05-01-2019
Code is working fine

Hey Neo,


There is some special character with the line require and it is giving error:
Code:
require_once('vendor/autoload.php');

Code:
See below code, it is working for me:
require_once('vendor/autoload.php');

use PubNub\PubNub;
use PubNub\Enums\PNStatusCategory;
use PubNub\Callbacks\SubscribeCallback;
use PubNub\PNConfiguration;
 
class MySubscribeCallback extends SubscribeCallback {
    function status($pubnub, $status) {
        if ($status->getCategory() === PNStatusCategory::PNUnexpectedDisconnectCategory) {
            // This event happens when radio / connectivity is lost
        } else if ($status->getCategory() === PNStatusCategory::PNConnectedCategory) {
            // Connect event. You can do stuff like publish, and know you'll get it
            // Or just use the connected event to confirm you are subscribed for
            // UI / internal notifications, etc
        } else if ($status->getCategory() === PNStatusCategory::PNDecryptionErrorCategory) {
            // Handle message decryption error. Probably client configured to
            // encrypt messages and on live data feed it received plain text.
        }
    }
 
    function message($pubnub, $message) {
        // Handle new message stored in message.message
    }
 
    function presence($pubnub, $presence) {
        // handle incoming presence data
    }
}
 
$pnconf = new PNConfiguration();
$pubnub = new PubNub($pnconf);

$pnconf->setSubscribeKey("demo");
$pnconf->setPublishKey("demo");
$subscribeCallback = new MySubscribeCallback();
$pubnub->addListener($subscribeCallback);
 
// Subscribe to a channel, this is not async.
$pubnub->subscribe()
    ->channels("hello_world")
    ->execute();
 
// Use the publish command separately from the Subscribe code shown above.
// Subscribe is not async and will block the execution until complete.
$result = $pubnub->publish()
              ->channel("hello_world")
              ->message("Hello PubNub")
              ->sync();
 
print_r($result);

Happy coding Smilie
This User Gave Thanks to hbmangal For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. What is on Your Mind?

PubNub Live Chat Beta Testing

Dear All, We are now beta testing our future "Live Chat" area using PubNub technology. https://community.unix.com/ This purpose of this testing is to test the core system, in general, and to see how many, if any, bugs crawl out of the woodwork. This "Live Chat" is not the... (48 Replies)
Discussion started by: Neo
48 Replies

2. What is on Your Mind?

A Quick Video Overview of PubNub Live Chat @UNIX.com (version 0.7614)

A number of people have asked me to make some videos, so I just got my first condenser microphone and so I can make some amateurish screen casts. I will try to do better in the future. A quick overview of PubNub Live Chat @unix.com The video is best is you set the Quality to HD 1080. The... (0 Replies)
Discussion started by: Neo
0 Replies

3. AIX

Compile PHP in AIX: Loading issues

Finally I was able to compile PHP on AIX. When I try to load from Apache, I get the below error. /install/usr/local/apache2/bin:>apachectl -f /install/usr/local/apache2/conf/httpd.conf -k stop httpd: Syntax error on line 53 of /install/usr/local/apache2/conf/httpd.conf: Cannot load... (0 Replies)
Discussion started by: KarthikKannan
0 Replies

4. Solaris

error during the installation SDK 6

Dear Members, this java already install in my machine $ uname -a SunOS maxdmail.com 5.10 Generic_139556-08 i86pc i386 i86pc $ java -version java version "1.5.0_17" Java(TM) Platform, Standard Edition for Business (build 1.5.0_17-b04) Java HotSpot(TM) Client VM (build 1.5.0_17-b04,... (1 Reply)
Discussion started by: xxmasrawy
1 Replies

5. UNIX for Advanced & Expert Users

Autosys-SDK

Hi friends, I am trying to validate the jil file programmatically. I plan to use the SDK provided by Autosys. Is CA provide any interfaces for this? Another thing : What is Jil syntax checker or Jil verifier or Jil validator? Where is it available in autosys? I am using R11 SP2 version... (0 Replies)
Discussion started by: ksswamy
0 Replies

6. Shell Programming and Scripting

issues with simplexml_load_string/SimpleXMLElement on PHP 5.1/Linux

This works fine under WAMP with PHP 5.3 and Windows XP on my dev machine. But on a Unix/PHP 5.1 env it doesn't. I am looking to pull out "LineNumber" and "TaxAmount" from the XML for each iteration of the loop below, for each iteration "$tax_line" is always an object of simplexml_load_string (... (0 Replies)
Discussion started by: crmpicco
0 Replies

7. Programming

SDK For cdwriter

I have a problem. I try to write a cd writer program ins c# but I can't find any sdk. Any one who knows? Thank you in advance :) (5 Replies)
Discussion started by: cs05pp2
5 Replies

8. OS X (Apple)

iPhone SDK?

Just need a little help learning to code using the iPhone SDK. HELP WOULD BE GREAT!!! (1 Reply)
Discussion started by: Nintenman
1 Replies
Login or Register to Ask a Question