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

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

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

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' -- …

centos 配置Let's Encrypt 泛域名https证书

centos 配置Let's Encrypt 泛域名https证书

前言2018年1月份Letsencrypt可以申请泛域名证书,这让我们部署多域名、多站点https省了很多功夫,终于可以不用维护多个域名的https证书。笔者以acme.sh为例,手把手教你配置https证书~本教程适用于centos 6.…

2021可用的百度网盘高速下载方法分享

2021可用的百度网盘高速下载方法分享

最新可用方法https://blog.bitefu.net/post/163.html方法很简单就是利用网盘直链下载助手【网盘直链下载助手】是一款免费开源获取网盘文件真实下载地址的油猴脚本,基于PCSAPI,支持Windows,Mac,Li…

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

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

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

PIP 更换国内安装源linux/windows

pip国内的一些镜像  阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/   豆瓣(…

Nginx服务崩溃自动重启脚本(监控进程服务并自动重启进程服务)脚本

有一台服务器运行着Ngin最近突然有一次崩溃,导致使用方当天无法访问网页端,然后我不得不登录服务器,检查各项服务,发现nginx崩溃了,于是重启Nginx,问题解决。后来为了防止Nginx再发生这种情况给运维带来的运维成本,于是写了一个脚本…

发表评论

访客

看不清,换一张

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