webman-permission 插件报错

Arsenal

1、按文档安装webman-permission插件,启动webman时报错。报错内容是 protocol error, got 'H' as reply type byte

2、已安装的插件有 php-di/php-di webman/redis-queue tinywan/jwt。redis可以正常使用

有人知道这是什么原因吗?

341 3 0
3个回答

six

估计哪里redis配置的端口配置错了

  • Arsenal 16天前

    redis队列和jwt都可以正常使用,不知道是不是还有地方需要配置

  • six 16天前

    先确定是哪个组件影响的,然后再找对应组件配置

  • sunsgne 13天前

    composer require sunsgne/casbin ; 可以用用这个

  • yzh52521 13天前

    @sunsgne 一样的错误

Tinywan

你这报错和这个插件没关系

  • ljnchn 14天前

    我这在使用 LaravelDatabaseAdapter 会复现,配置里面的「enable」改成 false 就没这个错了。

  • yzh52521 13天前

    还真是 关了就好了

  • yzh52521 13天前

    估计和 框架升级了有关 之前是好好的

  • Arsenal 13天前

    casbin/webman-permission (v1.0.6 => v1.0.5) 可以解决

  • yzh52521 13天前

    @Arsenal 也是会报以下错
    worker[webman:95805] exit with status 11
    worker[websocket:95814] exit with status 11
    worker[monitor:95810] exit with status 11
    worker[webman:95804] exit with status 11
    worker[webman:95803] exit with status 11

  • Arsenal 13天前

    框架版本多少,我这边 webman-framework v1.3.16,暂时没有报错。用的是 think-orm

  • yzh52521 13天前

    最新 最新

  • Arsenal 13天前

    那不清楚了,只能等作者来解决

  • yzh52521 13天前

    退回1.0.5 可以了

  • yzh52521 13天前

    改成 $redis = new Client('redis://' . ( $config['host'] ?? '127.0.0.1') . ':' . ($config['port'] ?? 6379)); 这样

  • Arsenal 13天前

    应该就是 yzh52521 所说的问题。v1.0.6有问题。我看v1.0.7已经没有这个问题了

  • Tinywan 13天前

    感谢!已发布新版本v1.0.7

yzh52521

RedisWatcher.php
createRedisClient 方法
下面这个bug

$redis = new Client('redis://' . $config['host'] ?? '127.0.0.1' . ':' . $config['port'] ?? 6379);

丢失了端口

修改成

 $host = $config['host'] ?? '127.0.0.1';
 $port = $config['port'] ?? 6379;
$redis = new Client('redis://' . $host . ':' . $port);
  • ljnchn 13天前

    看这个写法没啥问题啊

  • Tinywan 13天前

    是的,这个版本只是移除了数据库配置,因为发布订阅和这个没关系,就移除掉了

  • tegic 13天前

    行内这么写,如果不存在要报错的
    $redis = new Client('redis://' . ($config['host'] ?? '127.0.0.1') . ':' . ($config['port'] ?? 6379));
    需要包起来

  • Tinywan 13天前

    感谢,已发布新版本v1.0.7

🔝