当前位置:首页 > 技术分享

centos MQTT安装和php使用mosquitto的实例

admin4年前 (2022-05-28)技术分享3784

php安装mqtt  扩展

yum install -y php-devel

yum install -y mosquitto-devel

/usr/local/php/bin/pecl install Mosquitto-alpha

 如果是宝塔

yum install -y mosquitto-devel

由于宝塔是多环境共存,以下以PHP7.1为例
再用 pecl 来安装 Mosquitto-PHP

# /www/server/php/71/bin/pecl install Mosquitto-alpha

然后去 /www/server/php/71/etc/php.ini 添加一行:

extension=mosquitto.so

重启 服务后,运行 php -i|grep mosquitto 可以看到
mosquitto
libmosquitto version => 1.4.13

表明 PHP 可以使用 mosquitto 的 MQTT 库了。

安装过程提示有3个函数被禁用

popen   readlink  putenv

可以开启后安装后再禁用也可以手动安装

 

有可能安装不成功也可以手动安装

cd /tmp/pear/download    进入下载的目录

tar zxvf Mosquitto-0.4.0.tgz    解压

cd Mosquitto-0.4.0                  继续进入

phpize
 ./configure && make && make install

 php.ini  添加 extension=mosquitto.so

重启php

  

mqtt.php

<?php
$client = new Mosquitto\Client();
$client->setCredentials('root','12345');
$client->connect("127.0.0.1", 1884, 5);
 
for($i = 0;$i<=100;$i++) {
    $client->loop();
    $mid = $client->publish('ss', "Hello from PHP at " . date('Y-m-d H:i:s'), 1, 0);
    echo "Sent message ID: {$mid}\n";
    $client->loop();
 
    sleep(2);
}


sub.php

<?php
 $c = new Mosquitto\Client;
$c->setCredentials('root','12345');
$c->connect('127.0.0.1',1884,50);
 
$c->subscribe('ss', 1);
 
$c->onMessage(function($m) {
    var_dump($m);
});
$c->loopForever();

扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/259.html

分享给朋友:

“centos MQTT安装和php使用mosquitto的实例” 的相关文章

解决 SVN Skipped 'xxx' -- Node remains in conflict

更新命令:svn up提示代码:意思就是说 ,这个文件冲突了,你要解决下Updating '.': Skipped 'data/config.php' -- …

PHP和Redis实现在高并发下的抢购及秒杀功能

抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题:一、高并发对数据库产生的压力二、竞争状态下如何解决库存的正确减少("…

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

下面的密钥,是微软官方提供的,仅能用于Windows10系统版本的升级,比如从家庭版升级为专业版、专业版升级为企业版等。升级密钥不能用于激活系统,激活需要KMS或者数字权利,由于涉及到版权问题,在此不宜分享,请大家自行查找激活相关的内容。准…

用CMD命令查询域名的DNS解析记录:A,NS,MX,CNAME,TXT

1、查询域名的A记录nslookup -qt=A bitefu.net当然查询A记录你直接用ping命令来ping域名也可以获得A记录。2、查询域名的NS记录nslookup -qt=NS bitefu.net3、查询域名的MX记录nslo…

Chrome 最全历史版本下载以及chromedriver下载

https://vikyd.github.io/download-chromium-history-version/#/ https://dl.lancdn.com/landian/soft/chrome/m/ chromedriver的版…

msixbundle怎么打开?win10后缀.MSIX安装包怎么安装使用

msixbundle怎么打开?win10后缀.MSIX安装包怎么安装使用

扩展名为 .msix的文件是Windows应用程序安装程序。微软推出的MSIX 作为EXE,MSI甚至AppX 软件包的替代品。在Windows 10中打开一个.MSIX 文件并开始安装打包的应用程序,只需双击该文件即可。但有也有不少朋友会…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。