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

php5.6接入zipkin 时间戳问题

高老师5年前 (2021-12-19)PHP2203

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).在值类型中我们直接使用&符号表示指向对应变量的内存地址,当前变量和被指向的变量只要有1个的值被修改都会直接影响另外一个变量的值发生变化。(ps:还是非常节省内存的,可以使用...

编写php com组件,php调用.net dll,php源码保护

编写php com组件,php调用.net dll,php源码保护

开发com组件可以用c++,vc++,net,我比较熟悉net,演示用dnet(1).创建项目:启动vs2017,新建项目,选择Visual C# ->Windows桌面->类库通用windows(2). 修改Com项目:点击 项目->项目属性,再点击应用程序->程序集信息,...

php守护进程

php守护进程

<?php /**  * daemonize让当前脚本为守护进程执行  * @param string $callback 匿名函数  */ function daemonize($callback) {...

php异步信号处理

php异步信号处理

php7.1引入了PHP异步信号处理函数pcntl_async_signals() 来处理阻塞问题。在php7之前信号处理方式有2种,第一种是基于ticks来每执行一行代码来触发执行信号监听,第二种是直接while(true){  //监听信号 }第一种方式如果某行的代码阻塞时间较长会影响...

php定义常量数组

php定义常量数组

<?php //php7+ define('CONFIG', [     'MYSQL' => '127.0.0.1',     ...

posix_ttyname函数详解

posix_ttyname函数详解

posix_ttyname - 获取当前终端设备名称。<?php     var_dump( posix_ttyname(STDOUT) );我们启动一个终端,执行上面的代码输出:/dev/tty1我们再启动一个终端,执行上面的代码输...