Ребята я пытаюсь подписаться на тему на халявном сервере cloudmqtt.
Сервер: cloudMQTT
библиотека: phpMQTT.php
публикация темы, кажется, работает безупречно,
но это дает мне следующую ошибку всякий раз, когда я выполняю файл php
Ошибка:
Неустранимая ошибка: максимальное время выполнения 30 секунд превышено в
F: \ xampp \ htdocs \ bus_track \ live \ phpMQTT.php в строке 321
PHP-код:
<?php
require("phpMQTT.php");
$server = "***.cloudmqtt.com";
$port = ******;
$username = "*******";
$password = "********";
$mqtt = new bluerhinos\phpMQTT($server, $port, "ClientID".rand());
//$top=$_GET['topic'];
if(!$mqtt->connect(true,NULL,$username,$password)){
exit(1);
}
$topics["sensor/temp"] = array("qos"=>0, "function"=>"procmsg");
$mqtt->subscribe($topics,0);
while($mqtt->proc()){
}
$mqtt->close();
function procmsg($topic,$msg){
echo "Msg Recieved: $msg";
}
?>
Связь работает нормально.
У вас есть бесконечный цикл в вашем коде:
while($mqtt->proc()){
}
Таким образом, этот раздел никогда не закончится, поэтому появляется сообщение об ошибке, когда время выполнения достигает 30 секунд.
Других решений пока нет …