设为首页 加入收藏

TOP

rrd.so更新导致rrd_fetch返回值变更,与旧版不兼容
2014-11-24 11:50:16 来源: 作者: 【 】 浏览:1
Tags:rrd.so 更新 导致 rrd_fetch 返回 变更 兼容

前两天把php的rrd extension从旧版本的rrdtool.so升级到了最新的rrd.so


附:


旧版本的rrdtool.so (php_rrdtool.tar.gz )下载地址:http://oss.oetiker.ch/rrdtool/pub/contrib/


新版本的rrd.so下载地址:http://pecl.php.net/package/rrd


但是使用时发现很多函数的调用方式都变了,主要是都取消了count($opts)的配置,比如rrd_create、rrd_fetch、rrd_update等函数


原本都是( string $filename , array $options , count($opts))三个参数,现在都简化成了( string $filename , array $options)两个参数


但头疼的是rrd_fetch这个函数的返回值格式整体都变掉了,导致和已有的代码完全不一样。


新的rrd.so中,rrd_fetch返回值:


旧的rrdtool.so中,rrd_fetch返回值:


原因大概是:https://bugs.php.net/bug.php id=59575&edit=3


大神觉得ds_cnt、ds_namv这两个参数完全没用,并且还修改了data的返回格式


好吧,新的rrd_fetch确实挺简单,而且还有了数据对应的时间,非常方便,但是过渡阶段怎么办呢?原始系统没办法瞬间改完,但后台rrd已经升级完了,没办法,只好先搞个临时解决方案


用上面的my_rrd_fetch来替换以前的rrd_fetch,功能就是将新版的rrd_fetch的返回值改成旧版的返回,用于临时兼容旧版本代码...


当然后期还是要慢慢的都改成新函数才可以...


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Php-fpm TcpSocket vs UnixSocket 下一篇Linux内核编译与裁剪(ARM版)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·深入理解 Java 集合 (2025-12-27 07:22:48)
·Java集合框架全面解 (2025-12-27 07:22:45)
·时隔 15 年,巨著《J (2025-12-27 07:22:43)
·定义一个类模板并实 (2025-12-27 06:52:28)
·一文搞懂怎么用C语言 (2025-12-27 06:52:25)