前言
雅黑PHP探针算是一个历史悠久的简单的PHP探针。特性、功能、用途什么的就不在此过多赘述了,毕竟随便搜索下很容易就能找到。至于官网,并非“永久性”的不可用。下方为域名的whois信息,通过whois信息可知,域名并没有到期,站点其实有时候能访问,有时候不行。今年2023年,也是有一些时间能够正常访问的。 大概算是“年久失修”了,PHP7/8下已经无法正常直接使用了,而在合适的运行环境下,有一些功能也欠缺一些考虑设定,有一些小问题。 无法显示流量有两类原因,一个是本文给的解决方法,由于网络接口数量过多,预定义的接口数量不够无法传递,导致部分接口无法更新实时带宽、流量信息的问题,一个是运行环境的问题,运行环境的问题原因比较多,有机会单独开一个文章。
Domain Name: yahei.net
Registry Domain ID: 1572236586_DOMAIN_NET-VRSN
Registrar WHOIS Server: whois.PublicDomainRegistry.com
Registrar URL: http://www.publicdomainregistry.com
Updated Date: 2022-08-07T15:04:38Z
Creation Date: 2009-10-14T12:34:25Z
Registrar Registration Expiration Date: 2023-10-14T12:34:25Z
Registrar: PDR Ltd. d/b/a PublicDomainRegistry.com
Registrar IANA ID: 303
Reseller:
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registrant State/Province: Anhui
Registrant Country: CN
Name Server: GEORGE.NS.CLOUDFLARE.COM
Name Server: JESSICA.NS.CLOUDFLARE.COM
DNSSEC: unsigned
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.2013775952
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>>Last update of WHOIS database: 2023-07-03T07:52:44Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
问题
打开文件,可以看到2012-07-08,版本号v0.4.7,也许是作者以及当时的贡献者们普遍使用VPS、云服务器之类的单网口虚拟机,或者当时的独立服务器主流都是双网口的?可能是后者的原因居多吧。毕竟当时虚拟机选择不多,OpenVZ架构也有不少,而独立服务器观察戴尔、惠普之类的,一般都是双千兆网口的组合。 雅黑PHP探针的网络使用状况,应对4个网口的情况下就力不从心了。3个网口的时候,还是能准确刷新的,但是如果是4个网口,就会出现最下方的一个网口无法实时更新。根据文件内的使用条款,禁止衍生版本,此处只是出现这个问题的原因,以及修复方式,而不提供修改完成的文件。 /* 使用条款: /* 1.该软件免费使用. /* 2.禁止任何衍生版本. 可能是当时4网口的服务器市面上比较少见,当年主流的品牌独立服务器一般都是双千兆口或者单个万兆口的,虽然网口部分是循环输出了所有的接口,但是在后续的刷新过程中,刷新接口固定死了,默认只提供了 OutSpeed2 ~ OutSpeed5 一共4个接口,没有 OutSpeed1 。当遇上4个网口的服务器,因为操作系统本身的回环接口 lo 会占用一个位置,因此最后一个网口的网速情况会无法刷新。
解决方法
本质就是缺少了对传递接口的位置,解决两招,一个一劳永逸的方法比较麻烦,修改json格式按照网口数量动态生成,一个是直接修改json以及相关语句,增加 OutSpeed6 、NetInputSpeed6 两个数据的传递,这样页面上就能刷新最后面的接口了。 搜索下方内容,在附近插入需要增加的内容,网络情况就能顺利更新了:
- if ($_GET['act'] == "rt")
- $(document).ready(function(){getJSONData();});
- function displayData(dataJSON)