알고 싶습니다 ... 어떻게하면 php에서 rabbitmq 큐로 파일을 보낼 수 있습니까? 나는 많은 예제를 통해 대부분의 작업을하지 않았다. 아래의 은 일하는 소비자 생산자의 예입니다. 다음 는 상기 rabbitmq 매뉴얼에 제공된 예에있어서, i가 하나 개의 단말에 제 소비자 (PHP의 consumer.php)를 실행해야php에서 amqp로 파일을 업로드하는 방법
<?php
require_once('../php-amqplib/amqp.inc');
include('../config.php');
$conn = new AMQPConnection(HOST, PORT, USER, PASS, VHOST);
$channel = $conn->channel();
$channel->exchange_declare('upload-pictures','direct', false, true, false);
$metadata = json_encode(array(
'image_id' => $argv[1],
'user_id' => $argv[2],
'image_path' => $argv[3]
));
$msg = new AMQPMessage($metadata, array('content_type' => 'text/plain','delivery_mode' => 2));
$channel->basic_publish($msg, 'upload-pictures');
$channel->close();
$conn->close();
?>
consumer.php
<?php
require_once('../php-amqplib/amqp.inc');
include('../config.php');
$conn = new AMQPConnection(HOST, PORT, USER, PASS,VHOST);
$channel = $conn->channel();
$queue = 'add-points';
$consumer_tag = 'consumer';
$channel->exchange_declare('upload-pictures','direct', false, true, false);
$channel->queue_declare('add-points',false, true, false, false);
$channel->queue_bind('add-points', 'upload-pictures');
$consumer = function($msg){};
$channel->basic_consume($queue,$consumer_tag,false,false,false,false,$consumer);
?>
publisher.php 와 퍼블리셔 (php publisher.php 1 2 file/path.png)를 다른 터미널에 추가하면 소비자 터미널에 "Adding points to user : 2"메시지가 표시됩니다. 나는이 메시지를 전혀 듣지 못한다. 잘못가는 곳 스피 당신이 제안 할 수
당신이 따라야 할 매뉴얼에 대한 링크를 제공 할 수 있습니까? – pinepain