2015-10-28 43 views
1

我正在使用的项目我正在使用rabbitMQ来排列任务并发送消息。如果我从终端运行服务器和客户端,我会收到数据,但是如果我尝试将php包含在index.php中,并尝试将其显示到网页中,则不起作用。我在做什么错了,我尝试在函数中包装testRabbitMQClient.php,但这仍然无效。我错过了什么?RabbitMQ:适用于终端,但不适用于PHP

<?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://steamcommunity.com/openid'; 
      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://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_large_border.png"> 
</form> 
<?php 
    } elseif($openid->mode == 'cancel') { 
     echo 'User has canceled authentication!'; 
    } else { 
     if($openid->validate()) { 
       $id = $openid->identity; 
       // identity is something like: http://steamcommunity.com/openid/id/76561197994761333 
       // 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; 
} 

?> 
+0

你有错误?没有错误,但没有排队? –

+0

从浏览器运行此命令后,我得到了没有错误,也没有队列。 – user2872194

+0

我不应该说不排队,我应该说没有排队 – user2872194

回答

1

我想通了我的问题!我忘了在apache中启用amqp。我通过将extension=amqp.so添加到位于apache文件夹中的php.ini文件来实现此目的。

相关问题