channel(); /* The following code is the same both in the consumer and the producer. In this way we are sure we always have a queue to consume from and an exchange where to publish messages. */ /* name: $queue passive: false durable: true // the queue will survive server restarts exclusive: false // the queue can be accessed in other channels auto_delete: false //the queue won't be deleted once the channel is closed. */ $ch->queue_declare($queue, false, true, false, false); /* name: $exchange type: direct passive: false durable: true // the exchange will survive server restarts auto_delete: false //the exchange won't be deleted once the channel is closed. */ $ch->exchange_declare($exchange, 'direct', false, true, false); $ch->queue_bind($queue, $exchange); $toSend = new AMQPMessage('test message', array('content_type' => 'text/plain', 'delivery_mode' => 2)); $ch->basic_publish($toSend, $exchange); $msg = $ch->basic_get($queue); $ch->basic_ack($msg->delivery_info['delivery_tag']); var_dump($msg->body); $ch->close(); $conn->close();