关于使用PHP项目创建MQTT连接

环境

  • EMQX 版本:4.3.8
  • 操作系统版本:centOS7
    -php版本:7.4.3
    -php-mqtt/client版本:1.8.1

重现此问题的步骤

  1. 使用php-mqtt/client 1.8.1版本类库,连接MQTT服务器时,服务器启用了用户名密码认证导致连接不成功,【可以连接未开启用户名密码的MQTT服务器】
  2. 使用MQTTX客户端创建连接,多次尝试均可以正常连接,排除MQTT服务器使用时问题
  3. 多次查询文档及相关资料,以及排查了配置的参数信息依然无法连接

预期行为

正常连接

实际行为

连接抛出异常(Establishing a connection to the MQTT broker failed: The configured broker responded with unauthorized)

tarce / 抓包 查看 php client 发出的 CONNECT 报文是否带有正确的 username 和 password

另请参考 常见问题汇总


抓包来看好像是没有拿到,不过看这个情况好像是ConnectionSettings类的设置没起作用,主要是类库里面默认就得使用这个,就是这样的写法