下面由寶塔教程欄目給大家介紹寶塔面板下安裝Mosquitto-php擴展方法,希望對需要的朋友有所幫助!
MQTT 是物聯(lián)網(wǎng)的消息傳送協(xié)議標(biāo)準(zhǔn)。
在 CentOS 7上常用的開源 MQTT 消息服務(wù)器就是 Mosquitto。
我們用 PECL 來安裝 Mosquitto 的 PHP 實現(xiàn)。
首先要確保 php-devel 已經(jīng)安裝:
# yum install -y php-devel
然后確保 mosquitto-devel 也已經(jīng)安裝:
yum install -y mosquitto-devel
由于寶塔是多環(huán)境共存,以下以PHP7.1為例
再用 pecl 來安裝 Mosquitto-PHP
# /www/server/php/71/bin/pecl install Mosquitto-alpha
然后去 /www/server/php/71/etc/php.ini 添加一行:
extension=mosquitto.so
重啟 服務(wù)后,運行 php -i|grep mosquitto 可以看到
mosquitto
libmosquitto version => 1.4.13
表明 PHP 可以使用 mosquitto 的 MQTT 庫了。
下面是用 PHP 來發(fā)送消息的示例代碼 mosquitto-test.php:
<?php 2 3 4 $c = new Mosquitto\Client; 5 6 $topic = 'test'; 7 $msg = 'hello你好'; 8 $qos = 2; 9 10 $username = 'username'; 11 $password = 'Passw0rd'; 12 13 $c->setCredentials($username, $password); 14 $c->onConnect(function() use ($c) { 15 global $topic,$msg,$qos; 16 $c->publish($topic, $msg, $qos); 17 }); 18 19 $host = '192.168.7.201'; 20 21 $c->connect($host); 22 for ($i = 0; $i < 100; $i++) { 23 // Loop around to permit the library to do its work 24 $c->loop(1); 25 } 26 27 echo "結(jié)束\n";
然后運行 php mosqitto-test.php
另外開啟一個終端,用
# mosquitto_sub -h 192.168.7.201 -u username -P Passw0rd -t test
可以看到 PHP 程序發(fā)送的消息: "hello你好".