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来无侵入链路追踪比较好