当前位置:首页 > PHP > 正文内容

php5.6接入zipkin 时间戳问题

高老师4年前 (2021-12-19)PHP2002

php7.4接入zipkin链路追踪后开始接入php5.6,低版本的包文档缺少我直接用高版本的文档来使用,发现提示我生成的时间戳有问题,检查了下zipkin的包时间戳生成。

function now()
{
    return (int) (microtime(true) * 1000 * 1000);
}

发现代码没有问题非提示我有问题,直接在php5.6打印时间戳的值398685742,再次php7.4打印时间戳的值1639883311096109,看起来好像php5.6对于返回的bigint有问题,于是在github看到别人的处理。

function now()
{
    $str = microtime();
    $fstr =  substr($str,11,10).substr($str,2,6);
    return $fstr;
}

完美解决,直接返回字符串。低版本的composer严重的bug现在没人维护,还是升级php7用skywalking来无侵入链路追踪比较好

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/211.html

分享给朋友:

“php5.6接入zipkin 时间戳问题” 的相关文章

PHP单例模式

PHP单例模式

<?php /*  *   单粒模式,只能造出一个对象  1.肯定每次new只能返回一个对象,可以使用静态方法解决  2.子类继承也禁止重写构造方法,添加final搞定  *   */    ...

php解决浮点数精度问题

php解决浮点数精度问题

首先看看以下代码:代码1:<?php $a=0.1; $b=0.7; if($a+$b==0.8) { echo "1"; } else{ echo "2"; } ?>代码2:<?php   &n...

Thinkphp Call Stack,PHP调用栈Call Stack的获取

Thinkphp Call Stack,PHP调用栈Call Stack的获取

ThinkPHP中有一个debug调试功能,能输出报错文件的信息,并能看到这个函数被哪些函数调用,从框架的启动开始记录,特别方便调试。于是研究了下它的底层给予了实现。<?php //--框架核心--Start //框架内置错误处理 function errDealWith($er...

php代理下载,php代下载文件,php下载远程文件,php远程文件下载

php代理下载,php代下载文件,php下载远程文件,php远程文件下载

经常我们下载国外资源容易被墙,可以通过php脚本获取远程文件流然后输出给我们的浏览器来下载。<?php //设置下载文件的url $url = 'https://mirrors.huaweicloud.com/ubuntukylin/ubuntukylin-19....

php中0和字符串比较时注意的问题

php中0和字符串比较时注意的问题

在正式介绍前先抛出一段代码:<?php //输入的密码 $password = empty($_POST['password']) ? 0 : $_POST['password']; //设置的密码...

 php转换文本编码,php字符编码转换,php编码转换

php转换文本编码,php字符编码转换,php编码转换

整理一个自己用的编码转换方法,不需要知道原字符串的编码,只需要传入字符串,和你想要转换的编码。/**  * 编码转换  * @param string $char  * @param string $...