首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PHP中获得唯一的事务id?

如何在PHP中获得唯一的事务id?
EN

Stack Overflow用户
提问于 2012-12-04 17:14:30
回答 2查看 1.1K关注 0票数 1

我正在测试我的日志模块编写的PHP。

  1. web服务器发生的事务太多.
  2. 在同一个文件上写入的每个事务。(log.txt)
  3. 如何用多行记录同一文件中的事务?

下面是日志示例。

十二月05 :50:02资讯REQ1111111111111: param=1 十二月05 :50:02资讯REQ2222222222222: param=2 十二月05 :50:02资讯RES2222222222222: res=20 十二月05 :50:02资讯RES1111111111111: res=10

好的,我用uniqid()找到了一个解决方案。

但是它是基于时间戳的,所以在相同的时间和同一台机器上并不是唯一的巨大要求。

PHP不支持线程。如果其他语言(如C,JAVA),最好的解决方案是使用线程id每个线程或进程,我想。

对PHP有什么想法吗?

抱歉英语太差了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-04 17:25:58

首先,检查uniqid('', true)是否提供了足够的熵以避免冗余。

其次,尝试跟踪使用会话的人。这将使您能够单独识别人员和事务。

票数 2
EN

Stack Overflow用户

发布于 2014-04-11 03:00:23

您可以使用users.They的userid始终是唯一的,对吗?要获得更多的唯一性,请尝试散列用户id或他们的电子邮件id,并附加当前的微时间,并在日志中使用它,即使用户发送重复的请求,因为微时间在连续的请求之间肯定会发生变化。

代码语言:javascript
运行
复制
$id=$userid.$emailid.uniqid();
$uid=md5($str);

这可能是个大问题,如果在小loops.Because内部使用,在小循环中,微时间几乎不会改变。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13708320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档