workerman-statistics页面不展示数据

magicBear

日志文件已经生成,但是后台监控页面没有展示,没有统计数据,数据源试了127.0.0.1还有内网的IP都不行,求助,多谢!

阅读 1076
3个回答

magicBear

发现个问题,不知道对不对,StatisticFinder采用的是通信协议是UDP,数据封装是Text,但是Text.php里面的input方法,第二个参数是TcpConnection $connection,这个在PHP7下面会报个notice吧,然后就是UDP不是无连接的,这个$connection代表什么呢

  • 暂无评论
magicBear

解决了,因为用的PHP7.1,对变量的类型要求比较严格,在类Cache中定义\Statistics\Lib\Cache::$statisticDataCache=array(),但是在statistics的main.php的163行又重新定义\Statistics\Lib\Cache::$statisticDataCache = '';为字符串,造成\Statistics\Lib\Cache::$statisticDataCache = $statistic_data;赋值时出错,然后页面取不到数据
解决办法:重新赋值的时候改成数组
\Statistics\Lib\Cache::$statisticDataCache = array();
 

  • 暂无评论
blogdaren

解决了就好,但是我的项目并没有出现你说的Cache那里的强类型问题,倒是第一个问题是一样的,对于第一个问题, 应用层协议使用了Text,传输层协议使用的UDP,Text::input()的第二个参数强制类型默认是TCPConnection对象,此时会报告 TypeError,因为传递的是UDPConnection对象,我认为这是个BUG,应该使用兼容的Text应用层协议或者裸UDP传输层协议才好【另外其实$connection只是代码层面的的一个兼容抽象对象】