Mosquitto PHP扩展
上篇Mosquitto安装介绍了如何安装以及命令行使用Mosquitto,那么PHP里如何调用Mosquitto呢?这篇文章将介绍PHP与Mosquitto的集成。
安装PHP扩展
Mosquitto-PHP is A wrapper for the Eclipse Mosquitto™ MQTT client library for PHP.
环境要求
- PHP 5.3+
- libmosquitto 1.2.x or later
- Mac or Linux
注:感谢Sara Golemon的贡献,使pecl-mosquitto-v0.4.0已经支持PHP 7。
安装步骤
首先需要安装libmosquitto开发包,Red Hat系列的包名: libmosquitto-devel
,Debian或者Ubuntu系列的包名: libmosquitto-dev
。
以下以Centos 7.x为例:
1. 安装 Mosquitto 开发包
如果像我一样,找不到libmosquitto-devel
1 | [root@192 ~]# yum search libmosquitto-devel |
可以添加含有MQTT的源
1 | [root@192 ~]# cd /etc/yum.repos.d/ |
然后执行安装命令
1 | [root@192 ~]# yum install libmosquitto-devel |
2. 安装 Mosquitto PHP扩展
1 | [root@192 ~]# pecl install Mosquitto-0.4.0 |
这个提示直接按回车,自动探测就行。
Please provide the prefix of the libmosquitto installation [autodetect] :
成功提示:
Build process completed successfully
Installing ‘/usr/lib64/php/modules/mosquitto.so’
install ok: channel://pecl.php.net/Mosquitto-0.4.0
configuration option “php_ini” is not set to php.ini location
You should add “extension=mosquitto.so” to php.ini
3. 配置 php.ini 文件
添加如下一行
1 | extension=mosquitto.so |
演示示例
本例子中Mosquitto的版本信息
1 | mosquitto version 1.4.14 (build date 2017-09-14 18:40:30+0000) |
1. 无认证方式
1 |
|
2. 认证方式
只需添加一行认证代码
1 | // 添加认证信息 |
更多Mosquitto-PHP用法,参见 Mosquitto-PHP-docs