美文网首页
php 构建rabbitmq服务

php 构建rabbitmq服务

作者: 猪猪静的爸爸 | 来源:发表于2019-08-13 15:35 被阅读0次

一、rabbitMQ服务端 安装:

https://jingyan.baidu.com/article/e4d08ffd9ec61c0fd2f60d1f.html

二、php_amqp扩展包安装:

php 扩展包:http://pecl.php.net/package/amqp/1.9.3/windows

extension=php_amqp.dll(D:\phpStudy\PHPTutorial\php\php-7.0.12-nts\ext)

rabbitmq.4.dll(D:\phpStudy\PHPTutorial\php\php-7.0.12-nts)

三、composer 安装:

https://getcomposer.org/download/

使用国内源

切换源

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ //

OR composer config -g repo.packagist composer https://mirrors.huaweicloud.com/repository/php/

也可以手工在composer.json中添加如下内容:

"repositories": {

"packagist": {

"type": "composer",

"url": "https://mirrors.aliyun.com/composer/"

}

}

四、composer安装代码包:

代码包下载:

https://packagist.org/packages/php-amqplib/php-amqplib

composer require php-amqplib/php-amqplib

五、rabbitMQ web管理:

https://blog.csdn.net/chenshourui/article/details/81203770

六、代码示例:

D:\phpStudy\PHPTutorial\WWW\oms\trunk\src\application\models\RabbitMQ

B39896BB-22B4-413b-B13E-9FF53B27D67B.png

receive.php

require_once DIR . '/vendor/autoload.php';

use PhpAmqpLib\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) {

echo ' [x] Received ', $msg->body, "\n";

};

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

while (count($channel->callbacks)) {

$channel->wait();

}

$channel->close();

$connection->close();

?>

send.php

require_once DIR . '/vendor/autoload.php';

use PhpAmqpLib\Connection\AMQPStreamConnection;

use PhpAmqpLib\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();

?>

相关文章

网友评论

      本文标题:php 构建rabbitmq服务

      本文链接:https://www.haomeiwen.com/subject/qphbjctx.html