PHP如何获取用户每次操作的HTTP 请求的唯一性的request id 呢?
无论多少人,要求每次点击 都是全局唯一的ID
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
看到你的问题,我首先想到的是主键id的概念, 它可以唯一标识每条记录。所以楼主的需求就是要找到一个递增id,用于标识每一个请求。
方案一:(利用PHP内置全局变量$_SERVER中的参数REQUEST_TIME)
<?php
date_default_timezone_set('PRC');
sleep(5);
echo date('Y-m-d H:i:s',time()); //获取当前系统的时间戳
echo '<hr/>';
echo date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']);//获取本次请求的开始时间
输出结果:
2016-04-05 11:27:06
2016-04-05 11:27:01 //请求时间,与休眠后输出date相差5秒,符合预期
注:如果请求量巨大,秒级别无法标识,可以用REQUEST_TIME_FLOAT参数,可以精确到微秒级。
方案二: 利用php内置函数uniqid() ,生成唯一id。 或者这样子来生成: md5(time()).mt_rand(1,1000)
评论
全部评论 (0)