开发者社区> 问答> 正文

PHP如何获取用户每次操作的HTTP 请求的唯一性的request id 呢?

已解决

PHP如何获取用户每次操作的HTTP 请求的唯一性的request id 呢?
无论多少人,要求每次点击 都是全局唯一的ID

展开
收起
星球华人 2016-04-09 15:44:36 7113 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    看到你的问题,我首先想到的是主键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)

    2019-07-17 18:40:10
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
CDN助力企业网站进入HTTPS时代 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载