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

php5.6接入zipkin 时间戳问题

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

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 时间戳问题” 的相关文章

抛弃salt,使用password_hash()加密

抛弃salt,使用password_hash()加密

md5/sha1+salt方式是目前各大cms常用的加密方式,虽然salt安全,但是各大md5网站也在研究这个方向,那么我们应该选择password_hash动态hash来助力,一种密码有多种hash结果.看代码模拟登陆.<?php //01.注册 $user ='zhang...

php数组合并 array_merge和+号的区别

php数组合并 array_merge和+号的区别

array_merge是最常用的数组合并方法,+号同样也可以,但是却有很大不同。array_merge遇到相同字符串key,后面数组的key会覆盖前面数组的key,+号正好相反。$a = [ 'one' => 'A on...

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...

php守护进程

php守护进程

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

PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl.dll找不到指定的模块

PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl.dll找不到指定的模块

最近在编写windows php多线程的东西,从官网下载了PHP的线程安全版,尝试开启curl扩展extension=php_curl.dllphp -m 却提示 PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl...

PHP RSA密文过长加密解密,PHP RSA证书大小自动适配,PHP RSA分段加密

PHP RSA密文过长加密解密,PHP RSA证书大小自动适配,PHP RSA分段加密

项目中需要加密超长json内容才发现rsa加密长度有限制,于是换一种思路:我们将原本需要加密的内容拆分为多个字符串,一段一段的加密,解密端也是一段一段的解密即可完成。(1).确认每次加密多少长度首先我们要知道rsa加密长度是多少,1024位的rsa能加密的长度也是1024位。那么我们一次加密多长的字...