解决雅黑探针在 PHP7 下显示不全的问题

作为 “信仰”,雅黑 PHP 探针一向是 LAMP/LNMP 默认页 “It works!” 的非常不错的替代品,那么多信息哗哗列出来,不明觉厉。

Ubuntu 16.04 默认会安装 PHP7,性能是上去了,但是问题不少。在解决了 phpMyAdmin 不能正常工作的问题 之后,新的问题来了:雅黑 PHP 探针也不能正常工作!

现象

使用 apt install lamp-server^ 安装 LAMP 环境之后,下载雅黑探针,解压缩,访问。上半部分都正常,能实时刷新,但是 “PHP 相关参数” 之下的东西全都不见了。具体说来,“PHP 相关参数”、“组件支持”、“第三方组件”、“数据库支持”、“服务器性能检测”、“网络速度测试”、“MySQL 数据库连接检测”、“邮件发送检测”、“函数检测” 都没有了,然而这些都是很小巧精致有用的工具。

查看源代码不难发现,输出中的 HTML 代码并不完整。所以猜想是到那里报了个错,然后直接退出了。

解决

解决方法很简单。打开探针的文件(谢天谢地,就一个文件……),做如下两个替换:

  1. $_SERVER[PHP_SELF] 替换为 $_SERVER['PHP_SELF']
  2. eregi 替换为 preg_match

其中第一个替换大概 5 处,第二个替换只有一处。保存即可。

再刷新看看,熟悉的探针数据回来了。

总结

PHP 版本升级改动太多(虽然不知道到底改了什么,还没去了解),写代码一定要考虑版本问题啊!就像写 Python 一样,Python2 和 Python3 完全是两门语言……

总是要向前看的,你是说吧?

留下评论