Mosquitto-PHP
这是一个允许在 PHP 中使用 Eclipse Mosquitto™ MQTT 客户端库的扩展。使用方法请参见 examples/ 目录。
支持PHP 7
感谢 Sara Golemon,这个扩展现在支持 PHP 7 了。如果有使用 PHP 7 的人能够测试它并让我知道它是如何工作的,我将非常感激。
要求
- PHP 5.3以上
- libmosquitto 1.2.x 或更高版本。
- 我手头没有 Windows 机器,当然也非常欢迎打补丁或提出请求。
安装方法
如果你使用了一个预建包来安装 Mosquitto,你需要确保你已经安装了开发头文件。在 Red Hat 衍生的系统上,这可能叫做 libmosquitto-devel,而在基于 Debian 的系统上,它将是 libmosquitto-dev。
你可以使用 PECL 获得这个软件包。
pecl install Mosquitto-alpha
或者,你也可以使用普通的扩展程序。
phpize ./configure --with-mosquitto=/path/to/libmosquitto make make install
然后在你的 php.ini 中添加 extension=mosquitto.so。
--with-mosquitto 参数是可选的,只有当你的 libmosquitto 安装失败时才需要。
一般操作
底层库是基于回调和异步操作的。因此,你必须经常调用 Clien t的 loop() 方法,以允许库处理其队列中的消息。另外,你应该使用回调函数来确保只有在客户端连接后才尝试发布等。例如,以下是你如何正确发布一个 QoS=2 的消息。
onLog('var_dump'); $c->onConnect(function() use ($c, &$mid) { $mid = $c->publish("mgdm/test", "Hello", 2); }); $c->onPublish(function($publishedId) use ($c, $mid) { if ($publishedId == $mid) { $c->disconnect(); } }); $c->connect("localhost"); $c->loopForever(); echo "Finished"
文档
完整的文档可以在 available on ReadTheDocs 上找到。