मैं संदेश भेजने और प्राप्त करने के लिए php-amqplib का उपयोग करने का प्रयास कर रहा हूं। यह टर्मिनल पर भेजने/प्राप्त करने का काम करता है। लेकिन जब वेब ब्राउज़र के लिए जाते हैं, कतार से प्राप्त करने में असमर्थ यह लगातार संदेश के लिए इंतजार कर रहा है। मैं receive.php के लिए नीचे दिए गए कोड का इस्तेमाल कियावेब ब्राउज़र पर php-amqplib rabbitMQ का उपयोग कैसे करें
require_once(__DIR__ . '/lib/php-amqplib/amqp.inc');
include_once(__DIR__ . '/config/config.php');
$connection = new AMQPConnection(HOST, PORT, USER, PASS, VHOST);
$channel = $connection->channel();
$channel->queue_declare('test22');
$callback = function($msg){
echo $msg->body;
};
$channel->basic_consume('test22', 'consumer_tag', false, true, false, false, $callback);
while(count($channel->callbacks)) {
$channel->wait();
}
$channel->close();
$connection->close();
यह अगर मैं कॉलबैक फ़ंक्शन के बजाय नीचे का उपयोग लेकिन कतार से उपभोग नहीं करता है
$abc=$channel->basic_get("test22", false, 2);
if(!empty($abc))
{
print_r($abc->body);
}
इसका मतलब संदेशों कतार में उपलब्ध हैं 'पंक्ति से पहले संदेश हो जाता है test22 '। मुझे कोई सुराग दें।
लाइब्रेरी का आप किस संस्करण का उपयोग कर रहे हैं? पुस्तकालय के आधुनिक संस्करणों में अब इस फ़ाइल 'amqp.inc' का उपयोग नहीं किया जाता है। मेरा सुझाव है कि आप इसका उपयोग करें: https://github.com/videlalvaro/php-amqplib/ –
आप https://getcomposer.org/ के माध्यम से PHP तीसरे पक्ष का बेहतर उपयोग करेंगे। – smarber
आपका get.php/उपभोक्ता केवल प्रक्रिया के रूप में टर्मिनल के माध्यम से चलाया जाना चाहिए। इसके बाद इसे टर्मिनल या ब्राउज़र रन स्क्रिप्ट दोनों से भेजे गए संदेशों को खींचना चाहिए। – OddEssay