Backend Development 4 min read

Introduction to MQTT and PHP Implementation Example

MQTT is a lightweight, publish/subscribe messaging protocol ideal for IoT and mobile environments, offering low bandwidth usage, reliability, and TLS/SSL security, and the article provides a detailed PHP example demonstrating connection, subscription, publishing, message processing, and graceful disconnection.

php中文网 Courses
php中文网 Courses
php中文网 Courses
Introduction to MQTT and PHP Implementation Example

MQTT is a lightweight publish/subscribe messaging protocol designed for IoT and mobile applications, offering low bandwidth consumption, high reliability through persistent messages, and security via TLS/SSL encryption.

Main features of MQTT

Lightweight: minimal header size enables operation on low‑power devices and reduces network traffic.

Flexible publish/subscribe model: devices subscribe to topics of interest and publish messages to topics.

Reliability: supports persistent messages that are stored when a client is offline and delivered upon reconnection.

Security: provides TLS/SSL encryption and authentication for safe communication.

PHP example using MQTT protocol

<code><?php
// 引入MQTT库
require("phpMQTT.php");

// 定义MQTT服务器和端口
$server = "mqtt.example.com";
$port = 1883;

// 定义客户端ID
$client_id = "php_mqtt_example";

// 创建MQTT客户端实例
$mqtt = new phpMQTT($server, $port, $client_id);

// 连接到MQTT服务器
if ($mqtt->connect(true, NULL, NULL, NULL)) {
    echo "Connected to MQTT server\n";

    // 订阅主题
    $topics['topic1'] = array("qos" => 0, "function" => "processMessage");
    $mqtt->subscribe($topics, 0);

    // 发布消息
    $mqtt->publish("topic2", "Hello, MQTT", 0);

    // 保持连接
    while ($mqtt->proc()) {
    }

    // 断开连接
    $mqtt->close();
    echo "Disconnected from MQTT server\n";
} else {
    echo "Failed to connect to MQTT server\n";
}

// 消息处理函数
function processMessage($topic, $payload) 
{
    echo "Received message on topic: $topic\n";
    echo "Message: $payload\n";
}
?>
</code>

The script first includes the phpMQTT library, sets the server address, port, and client ID, then creates a client instance and connects to the broker. After a successful connection it subscribes to a topic, publishes a message, enters a loop to process incoming messages, and finally closes the connection.

This simple example demonstrates how PHP can communicate via MQTT and can be extended to meet specific application requirements.

MessagingPHPIoTMQTTPublish-Subscribe
php中文网 Courses
Written by

php中文网 Courses

php中文网's platform for the latest courses and technical articles, helping PHP learners advance quickly.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.