[rabbitmq-discuss] PHP Client libraries
Alexandre Kalendarev
akalend at mail.ru
Wed Feb 10 12:34:48 GMT 2010
> $cnn = new AMQPConnect (array ('port'=>5672, 'login' =>
> 'live_rabbit','password'=>'lostpassword','vhost'=>'/testhost' ));
> $exchange = new AMQPExchange($cnn);
>
> $queue = new AMQPQueue($cnn);
> $queue->declare('me', AMQP_AUTEDELETE | AMQP_DURABLE);
> print "new Exchange".PHP_EOL;
> $exchange->declare('ex_name','topic');
> print "declare Exchange".PHP_EOL;
> $exchange->bind('me','beta.*');
the queue "me" must be exist, else rise Exception.
> print "bind Exchange".PHP_EOL;
> $msg = "Hello World";
> $res = $exchange->publish( $msg, 'beta.me');
You could be like to use rabbit Tracer for debug. The tracer You can find install ( unpack ) the java client library.
rabbitmq-java-client package include class Tracer.
start:
java -cp rabbitmq-client.jar:commons-io-1.2.jar:commons-cli-1.1.jar com.rabbitmq.tools.Tracer
or
runjava.sh com.rabbitmq.tools.Tracer listenPort connectHost connectPort listenPort
You must have connection on the proxy port 5673
Code:
$cnn = new APMQConection( array( port=>5673 ) );
tracer output:
1257461452674: conn#74 ch#0 <- {#method<connection.start>(version-major=8,version-minor=0,server
properties={product=RabbitMQ, platform=Erlang/OTP, information=Licensed under the MPL. See www.rabbitmq.com/,
copyright=Copyright © 2007-2009 LShift Ltd., Cohesive Financial Technologies LLC., and Rabbit Technologies Ltd.,
version=1.5.4},mechanisms=PLAIN AMQPLAIN,locales=en_US),null,""}
1257461452681: conn#74 ch#0 -> {#method<connection.start-ok>(client-
properties={},mechanism=PLAIN,response=guestguest,locale=en_US),null,""}
1257461452682: conn#74 ch#0 <- {#method<connection.tune>(channel-max=0,frame-max=131072,heartbeat=0),null,""}
etc ...
code:
$queue = new AMQPQueue($cnn, 'Habrauser')
output trace:
1257461452685: conn#74 ch#1 ->
{#method<queue.declare>(ticket=0,queue=Habrauser,passive=false,durable=false,exclusive=false,auto-
delete=true,nowait=false,arguments={}),null,""}
1257461452686: conn#74 ch#1 <- {#method<queue.declare-ok>(queue=Habrauser,message-count=0,consumer-count=0),null,""}
By trace info You can to find the server errors. So, You can test how the work the php-client by rabbitmqctl tools:
rabbitmqctl list_queues // show list queue
rabbitmqctl list_exchanges // show list exchanges
rabbitmqctl list_bindings // show list bindings
Good luke of tracing
Alexandre
More information about the rabbitmq-discuss
mailing list