您当前的位置: 首页 > 学无止境 > 网站建设 网站首页网站建设
windows下搭建activeMQ+php
发布时间:2018-12-23 17:37:40编辑:雪饮阅读()
公司项目中准备使用推送功能,我建议用极光推送,一个第三方推送。不过经理的意思是让用户activeMQ,首先要在本地环境中搭建activeMQ。
附件:
php_stomp-1.0.9-5.5-ts-vc11-x86.zip
链接:https://pan.baidu.com/s/17sbbiKWC7akebbYl_o8hlg
提取码:i6zk
复制这段内容后打开百度网盘手机App,操作更方便哦
apache-activemq-5.14.5-bin.zip
链接:https://pan.baidu.com/s/1qTRnCQVqCeuaK9p1PuG98g
提取码:l72n
复制这段内容后打开百度网盘手机App,操作更方便哦
jdk-8u191-windows-x64.exe
链接:https://pan.baidu.com/s/1-hzV9hit36Kh_9AFWvumJQ
提取码:0qkm
复制这段内容后打开百度网盘手机App,操作更方便哦
本地环境:
windows7x64旗舰版、phpStudy2016(php-5.5.38+Apache)
安装jdk
将jdk-8u191-windows-x64.exe安装,安装完成后在cmd命令行中执行命令“java”若报错就可能是你环境变量问题,那么就需要配置环境变量。配置java环境变量
配置完环境变量后解压apache-activemq-5.14.5-bin.zip并进入解压后目录中执行路径为apache-activemq-5.14.5\bin\win64\activemq.bat的程序,运行后别关闭窗口。
然后进入http://127.0.0.1:8161是activeMQ的控制台,管理账号默认admin/admin
配置stomp扩展
解压php_stomp-1.0.9-5.5-ts-vc11-x86.zip得到dll扩展配置到php.ini中重启服务即可。
编写推送脚本pub.php:
<?php
$queue = 'liyang';
$msg = 'bar';
try {
$stomp = new Stomp('tcp://127.0.0.1:61613');
while (true) {
$stomp->send($queue, $msg." ". date("Y-m-d H:i:s"));
sleep(1);
}
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}
编写接收推送脚本sub.php:
<?php
$queue = 'liyang';
try {
$stomp = new Stomp('tcp://127.0.0.1:61613');
$stomp->subscribe($queue);
while (true) {
if ($stomp->hasFrame()) {
$frame = $stomp->readFrame();
if ($frame != NULL) {
print "Received: " . $frame->body . " - time now is " . date("Y-m-d H:i:s"). "\n";
$stomp->ack($frame);
}
} else {
print "No frames to read\n";
}
}
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}
测试mq推送与接收:
新开一个命令窗口推送:图中报错是因为php.ini中时区没有设置,设置为PRC就ok了。
新开一个命令窗口接收:
关键字词:windows,activeMQ,php