worker启动是报错Workerman\Worker::$_maxEventNameLength未定义?

buck

Access to undeclared static property: Workerman\Worker::$_maxEventNameLength
这是啥情况

Workerman start in DEBUG mode

   Symfony\Component\Debug\Exception\FatalThrowableError  : Access to undeclared static property: Workerman\Worker::$_maxEventNameLength

  at /home/vagrant/website/idea/laravel/vendor/workerman/workerman/Worker.php:614
    610|             foreach(static::getUiColumns() as $column_name => $prop){
    611|                 !isset($worker->{$prop}) && $worker->{$prop}= 'NNNN';
    612|                 $prop_length = strlen($worker->{$prop});
    613|                 $key = '_max' . ucfirst(strtolower($column_name)) . 'NameLength';
  > 614|                 static::$$key = max(static::$$key, $prop_length);
    615|             }
    616| 
    617|             // Listen.
    618|             if (!$worker->reusePort) {

  Exception trace:

  1   Workerman\Worker::initWorkers()
      /home/vagrant/website/idea/laravel/vendor/workerman/workerman/Worker.php:503

  2   Workerman\Worker::runAll()
      /home/vagrant/website/idea/laravel/app/Console/Commands/WorkermanServer.php:68
2729 2 0
2个回答

walkor

workerman代码里没有这个变量 $_maxEventNameLength。另外报错请贴全。文件及行数都贴出来。

  • buck 2019-02-21

    不好意思,我补充一下错误信息

walkor

WorkermanServer.php并不是workerman官方的文件,看起来像是WorkermanServer.php的问题,可能他改造了Worker::getUiColumns方法,返回了错误的数据。并不是workerman自身的问题。还要自己排查下。
 

  • buck 2019-02-21

    感谢大佬,果然是getUiColumns返回的数据不正确。

年代过于久远,无法发表回答
🔝