国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

使用workerman/mqtt報錯問題,請老師幫下忙,謝謝

kenshin100

問題描述

使用官方代碼里的程序,僅僅修改了URL,我用mqttfx,并且配置好后是可以連接mqtt服務(wù)端,但是用PHP程序卻一直報這個錯,請老師幫忙看一下

程序代碼

<?php
require __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
$worker = new Worker();
$worker->onWorkerStart = function(){
    $mqtt = new Workerman\Mqtt\Client('mqtt://localhost:1883');
    $mqtt->onConnect = function($mqtt) {
        $mqtt->subscribe('test');
    };
    $mqtt->onMessage = function($topic, $content){
        var_dump($topic, $content);
    };
    $mqtt->connect();
};
Worker::runAll();

報錯信息

---------------------------------------------- WORKERMAN -----------------------------------------------
Workerman version:4.2.1          PHP version:8.0.2
----------------------------------------------- WORKERS ------------------------------------------------
worker                                          listen                              processes   status
none                                            none                                1           [ok]
PHP Fatal error:  Declaration of Workerman\Mqtt\Protocols\Mqtt::input(string $buffer, Workerman\Connection\ConnectionInterface $connection): int must be compatible with Workerman\Protocols\ProtocolInterface::input($recv_buffer, Workerman\Connection\ConnectionInterface $connection) in F:\mqtt\vendor\workerman\mqtt\src\Protocols\Mqtt.php on line 136

Fatal error: Declaration of Workerman\Mqtt\Protocols\Mqtt::input(string $buffer, Workerman\Connection\ConnectionInterface $connection): int must be compatible with Workerman\Protocols\ProtocolInterface::input($recv_buffer, Workerman\Connection\ConnectionInterface $connection) in F:\mqtt\vendor\workerman\mqtt\src\Protocols\Mqtt.php on line 136
Worker process terminated with ERROR: E_COMPILE_ERROR "Declaration of Workerman\Mqtt\Protocols\Mqtt::input(string $buffer, Workerman\Connection\ConnectionInterface $connection): int must be compatible with Workerman\Protocols\ProtocolInterface::input($recv_buffer, Workerman\Connection\ConnectionInterface $connection) in F:\mqtt\vendor\workerman\mqtt\src\Protocols\Mqtt.php on line 136"
這里粘貼報錯

截圖報錯信息里報錯文件相關(guān)代碼

操作系統(tǒng)及workerman/webman等框架組件具體版本

workerman/mqtt 2.1
workerman/workerman 4.2.1 An asynchronous event driven PHP framework for easily building fast, scalable network ap...

258 1 0
1個回答

JustForFun

mqtt:2.1workerman:4.2.1不兼容的,我看mqttcomposer.json提交記錄,其中有一條就是加了workerman的依賴可以是^4.0,應(yīng)該就是這個導(dǎo)致的。。。如果你的項(xiàng)目只有個這個mqtt,可以試著升級workerman到版本5或者降級mqtt。

  • kenshin100 2025-04-30

    您好,請問下 哪兩個版本的workerman和mqtt可以對得上?

  • JustForFun 2025-04-30

    另開一個空目錄,在空目錄里執(zhí)行composer require workerman/mqtt,再將你的代碼也放進(jìn)去運(yùn)行就可以了

??