mercredi 28 octobre 2015

RabbitMQ: Works in terminal, but not with PHP

for a project I am currently working on I am using rabbitMQ to queue tasks, and send messages. If I run the server and the client from a terminal I will receive data, but if I try to include the php in an index.php that tries to display the into to a web page it does not work. What am I doing wrong, I tried wrapping the testRabbitMQClient.php in a function but this still does not work.What am I missing?

   <?php
//index.php

require 'openid.php';
require 'functions.php';
require 'testRabbitMQClient.php';
/*
#connects to my database and checks to make sure its connected.
*/
$apikey="key";
try {
   $openid = new LightOpenID('localhost');
    if(!$openid->mode) {
        if(isset($_GET['login'])) {
            $openid->identity = 'http://ift.tt/1glcWoz';
            header('Location: ' . $openid->authUrl());
        }
?>
<h1>Hey ____ thank you for using FOF.com</h1>

<br>
<?php 
    //showFriends(xxxxxxxxxxxxxxxxx); 
    //calls function from testRabbitMQClient.php    
    send("friends");

?>
<form action="?login" method="post">
    <input type="image" src="http://ift.tt/1dHz8Pc">
</form>
<?php
    } elseif($openid->mode == 'cancel') {
        echo 'User has canceled authentication!';
    } else {
        if($openid->validate()) {
                $id = $openid->identity;
                // identity is something like: http://ift.tt/1jQj7Lz
                // we only care about the unique account ID at the end of the URL.
                $ptn = "/^http:\/\/steamcommunity\.com\/openid\/id\/(7[0-9]{15,25}+)$/";
                preg_match($ptn, $id, $matches);
                echo "User is logged in (steamID: $matches[1])\n";
    } 
    else 
    {
                echo "User is not logged in.\n";
        }

    }
} catch(ErrorException $e) {
    echo $e->getMessage();
}
?>

#!/usr/bin/php
<?php
//rabbit mq client;
require_once('path.inc');
require_once('get_host_info.inc');
require_once('rabbitMQLib.inc');

function send($type){
    $client = new rabbitMQClient("testRabbitMQ.ini","testServer");
    if (isset($argv[1]))
    {
        $msg = $argv[1];
    }
    else
    {
        $msg = "test message";
    }

    $request = array();
    $request['type'] = "friends";
    $request['username'] = "steve";
    $request['password'] = "password";
    $request['message'] = $msg;
    $response = $client->send_request($request);
    //$response = $client->publish($request);

    echo "client received response: ".PHP_EOL;
    echo $response;
    echo "\n\n";

    echo $argv[0]." END".PHP_EOL;
}

?>




Aucun commentaire:

Enregistrer un commentaire