test rabbit queuedeclare que how for php rabbitmq amqp pecl

php - rabbit - test amqp



Instalación de AMQP a través de PECL (7)

El dev lib de repo está roto (como de costumbre ...). Tienes que clonar (desde GIT o HG) y hacer la lib, desde php.net:

hg clone http://hg.rabbitmq.com/rabbitmq-c/rev/b01825ecc112 rabbitmq-c cd rabbitmq-c # Add the codegen requirement. To find the full list, go here: http://hg.rabbitmq.com/rabbitmq-codegen/tags # and copy the URL for the appropriate broker version. hg clone http://hg.rabbitmq.com/rabbitmq-codegen/rev/16bbcb711380 codegen # Configure, compile and install autoreconf -i && ./configure && make && sudo make install

Luego ejecute "pecl install amqp", funcionó en mi ubuntu 12 con Php 5.3

Estoy tratando de instalar la extensión RabbitMQ PECL pero después de ejecutar

sudo pecl install amqp

Recibo el siguiente mensaje de error críptico, que la búsqueda de Google no ha ayudado a resolver.

Tengo estos paquetes instalados:

  • librabbitmq - RabbitMQ C cliente en sí)
  • librabbitmq-dev - encabezados de desarrollo, etc.

y RabbitMQ ejecutándose exitosamente en localhost

Tal vez podría ser una falta de coincidencia en la versión del cliente C y lo que espera la extensión PECL, ¿alguien más se encuentra con este?

Hacer salida a continuación ....

Aclamaciones

running: make /bin/bash /tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/libtool --mode=compile cc -I. -I/tmp/pear/temp/amqp -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootZNUmac/amqp- 1.0.0/include -I/tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/main -I/tmp/pear/temp/amqp - I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM - I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/amqp/amqp.c -o amqp.lo libtool: compile: cc -I. -I/tmp/pear/temp/amqp -DPHP_ATOM_INC -I/tmp/pear/temp/pear- build-rootZNUmac/amqp-1.0.0/include -I/tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/main - I/tmp/pear/temp/amqp -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM - I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/amqp/amqp.c -fPIC -DPIC -o .libs/amqp.o /bin/bash /tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/libtool --mode=compile cc -I. -I/tmp/pear/temp/amqp -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootZNUmac/amqp- 1.0.0/include -I/tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/main -I/tmp/pear/temp/amqp - I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM - I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/amqp/amqp_exchange.c -o amqp_exchange.lo libtool: compile: cc -I. -I/tmp/pear/temp/amqp -DPHP_ATOM_INC -I/tmp/pear/temp/pear- build-rootZNUmac/amqp-1.0.0/include -I/tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/main - I/tmp/pear/temp/amqp -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM - I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/amqp/amqp_exchange.c -fPIC -DPIC -o .libs/amqp_exchange.o /bin/bash /tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/libtool --mode=compile cc -I. -I/tmp/pear/temp/amqp -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootZNUmac/amqp- 1.0.0/include -I/tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/main -I/tmp/pear/temp/amqp - I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM - I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/amqp/amqp_queue.c -o amqp_queue.lo libtool: compile: cc -I. -I/tmp/pear/temp/amqp -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/include -I/tmp/pear/temp/pear-build-rootZNUmac/amqp-1.0.0/main - I/tmp/pear/temp/amqp -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM - I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/amqp/amqp_queue.c -fPIC -DPIC -o .libs/amqp_queue.o /tmp/pear/temp/amqp/amqp_queue.c: In function ''read_message_from_channel'': /tmp/pear/temp/amqp/amqp_queue.c:316:11: error: ''AMQP_FIELD_KIND_U64'' undeclared (first use in this function) /tmp/pear/temp/amqp/amqp_queue.c:316:11: note: each undeclared identifier is reported only once for each function it appears in /tmp/pear/temp/amqp/amqp_queue.c: In function ''zim_amqp_queue_class_nack'': /tmp/pear/temp/amqp/amqp_queue.c:1020:2: error: unknown type name ''amqp_basic_nack_t'' /tmp/pear/temp/amqp/amqp_queue.c:1039:3: error: request for member ''delivery_tag'' in something not a structure or union /tmp/pear/temp/amqp/amqp_queue.c:1040:3: error: request for member ''multiple'' in something not a structure or union /tmp/pear/temp/amqp/amqp_queue.c:1041:3: error: request for member ''requeue'' in something not a structure or union /tmp/pear/temp/amqp/amqp_queue.c:1046:3: error: ''AMQP_BASIC_NACK_METHOD'' undeclared (first use in this function) make: *** [amqp_queue.lo] Error 1 ERROR: `make'' failed


Esto es lo que hice para instalarlo correctamente en debian wheezy: tuve que usar la versión 0.5.2 de rabbitmq-c

git clone https://github.com/alanxz/rabbitmq-c cd rabbitmq-c git checkout tags/v0.5.2 git submodule init git submodule update autoreconf -i && ./configure && make && make install pecl install amqp


Esto se debe a que su rabbitmq es más antigua que la versión que requiere la extensión php.

Puede instalar una versión más reciente de rabbitmq o una versión inferior de la extensión como:

pecl install amqp-1.2.0

Pero creo que usar las últimas versiones es una mejor opción.


Parece que la extensión PECL es más nueva que las bibliotecas que tienes instaladas. Instale RabbitMQ directamente desde su sitio web, utilizando sus paquetes y no los que vienen con su distribución, ya que parecen estar desactualizados.


Tuve que instalarlo siguiendo los pasos que se encuentran here :

# Download the rabbitmq-c library @ version 0-9-1 git clone git://github.com/alanxz/rabbitmq-c.git cd rabbitmq-c # Enable and update the codegen git submodule git submodule init git submodule update # Configure, compile and install autoreconf -i && ./configure && make && sudo make install

Después de eso, sudo pecl install amqp hizo el trabajo.

Usando Ubuntu 12.10 con PHP 5.4.3.


esto es lo que hice para instalarlo correctamente en debian wheezy:

apt-get install pkg-config librabbitmq-dev librabbitmq0 git clone https://github.com/alanxz/rabbitmq-c cd rabbitmq-c/ autoreconf -i ./configure make make install pecl install amqp


Instalando el AMQP de rabbitmq con pecl con PHP7.0

Simplemente siga algunos de estos pasos, esto instalará todas sus dependencias y la biblioteca amqp. A mí me funciona con bento/ubuntu-16.04 con php7.0

apt-get update wget http://in.archive.ubuntu.com/ubuntu/ubuntu/pool/universe/libr/librabbitmq/librabbitmq1_0.5.2-2_amd64.deb dpkg -i librabbitmq1_0.5.2-2_amd64.deb wget http://in.archive.ubuntu.com/ubuntu/ubuntu/pool/universe/libr/librabbitmq/librabbitmq-dev_0.5.2-2_amd64.deb dpkg -i librabbitmq-dev_0.5.2-2_amd64.deb apt-get install php7.0 php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-xml php7.0-dev pecl install amqp echo "extension=amqp.so" >> /etc/php/7.0/cli/php.ini echo "extension=amqp.so" >> /etc/php/7.0/fpm/php.ini

Librabbitmq-dev y sus dependencias de diferentes versiones se pueden descargar desde

http://in.archive.ubuntu.com/ubuntu/ubuntu/pool/universe/libr/librabbitmq/