Php Rabbitmq 環境搭建(附乙個例子)

2021-08-13 09:22:48 字數 2696 閱讀 9747

首先安裝erl環境,其次安裝rabbitmq-server,最後安裝amqp擴充套件,安裝完成之後使用rabbitmqctl status檢視狀態 。文末附上乙個 生產消費訊息 的 例子。

用到的命令如下:

#安裝erlang環境

$ apt-get install erlang

#安裝 rabbitmq-server

$ wget

.7/rabbitmq-server-3.5

.7.tar.gz

$ tar zxvf rabbitmq-server-3.5

.7.tar.gz

$ cd rabbitmq-server-3.5

.7/$ make

$ apt-get update

$ apt-get install xmlto --fix-missing

$ make install

#安裝 rabbitmq-c

wget

.0/rabbitmq-c-0.5

.0.tar.gz --no-check-certificate

$ tar -xzvf rabbitmq-c-0.5

.0.tar.gz

$ cd rabbitmq-c-0.5

.0/$ ls

$ autoconf -i

$ ./configure --prefix=/usr/local/rabbitmq-c

$ make

$ make install

#安裝php-amqp擴充套件

$ apt-cache search php-rmqp

$ apt-get install php-rmqp

生產消費訊息的小例子

在專案中使用composer引入amqp

$ composer require    php-amqplib/php-amqplib

2.6.1

生產者 producer (send.php)

<?php 

require_once

__dir__ . '/vendor/autoload.php';

usephpamqplib\connection\amqpstreamconnection;

usephpamqplib\message\amqpmessage;

$connection = new amqpstreamconnection('localhost', 5672, 'guest', 'guest');

$channel = $connection->channel();

$channel->queue_declare('hello', false, false, false, false);

$msg = new amqpmessage('hello world!');

$channel->basic_publish($msg, '', 'hello');

echo

" [x] sent 'hello world!'\n";

$channel->close();

$connection->close();

消費者 consumer (receive.php)

<?php 

require_once

__dir__ . '/vendor/autoload.php';

usephpamqplib\connection\amqpstreamconnection;

$connection = new amqpstreamconnection('localhost', 5672, 'guest', 'guest');

$channel = $connection->channel();

$channel->queue_declare('hello', false, false, false, false);

echo

' [*] waiting for messages. to exit press ctrl+c', "\n";

$callback = function

($msg) ;

$channel->basic_consume('hello', '', false, true, false, false, $callback);

while(count($channel->callbacks))

1 傳送兩條訊息給佇列

2 檢視佇列中的訊息數為2

3 消費訊息

4 檢視消費之後的訊息

PHP rabbitmq擴充套件安裝

自 1 安裝擴充套件依賴庫 mkdir build cd build 這一步是在rabbitmq c的根目錄下建立乙個build子目錄 cmake dcmake install prefix usr local librabbitmq 這一步是讓cmake根據.cmakelist.txt,即rabb...

LAMP環境搭建 php環境搭建

yum groupinstall development tools y yum groupinstall desktop platform development y yum install cmake pcre devel ncurses devel openssl devel libcurl ...

環境搭建 二 Python環境搭建

工欲善其事,必先利其器 要想玩轉python,我們首先需要搭建一套可使用且方便的環境。對於初學者,笨飯糰建議使用 anaconda anaconda 簡介anaconda是python的乙個科學計算發行版,內建了數百個python經常會使用的庫,包括做機器學習或資料探勘的庫。anaconda提供了乙...