美文网首页PHP
PHP 使用 UUID

PHP 使用 UUID

作者: ___n | 来源:发表于2018-01-29 16:26 被阅读1743次

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。
其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。
在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛应用的UUID,是微软公司的全局唯一标识符,而其他重要的应用,则有Linux ext2/ext3文件系统、LUKS加密分区、GNOME、KDE、Mac OS X等等。另外我们也可以在e2fsprogs包中的UUID库找到实现。

使用UUID的好处是,能够保证独立性,程序可以在不同的数据库间迁移,效果不受影响。 保证生成的ID不仅是表独立的,而且是库独立的,这点在在切分数据库的时候尤为重要。而缺点,变是~长

CENTOS7 下安装 UUID,需要先安装几个库

yum -y install uuid uuid-devel e2fsprogs-devel libuuid-devel

然后在官网下载 http://pecl.php.net/package/uuid 进行编译安装,我下载的是 uuid-1.0.4.tgz 的

wget -c  http://pecl.php.net/get/uuid-1.0.4.tgz
tar -zxvf uuid-1.0.4.tgz
cd uuid-1.0.4
# 因为我的PHP 是装在 exec 下,具体看各人自已的环境
/opt/php/exec/bin/phpize
./configure --with-php-config=/opt/php/exec/bin/php-config 
make && make install

装完在 php.ini 里导入 extension=uuid.so

<?php
# 调用
echo uuid_create(1)

完整实现

function UUID(){
        $uuid = '';
        if (function_exists('uuid_create') === true){
            $uuid = uuid_create(1);
        }else{
            $data = openssl_random_pseudo_bytes(16);
            $data[6] = chr(ord($data[6]) & 0x0f | 0x40); 
            $data[8] = chr(ord($data[8]) & 0x3f | 0x80); 
            $uuid =  vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
        }
        return $uuid;
}
TIM截图20180129162627.png

相关文章

  • PHP 使用 UUID

    UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的...

  • nodejs 使用uuid

    安装 npm install uuid --save 使用 引入var uuid = require('uuid'...

  • fatal error: uuid/uuid.h: No suc

    我们在linux系统使用c/c++生成uuid的时候,一般会使用 uuid/uuid.h 里面的uuid_gene...

  • js常用函数

    1.uuid UUIDGenerator 生成 UUID。 使用cryptoAPI 生成 UUID, 符合RFC4...

  • php代码块

    货号单 0000001的生成方法 通过goole Api以经纬度获取城市名 生成uuid方法 使用PHP内置函数实...

  • php获取uuid

  • uuid 使用

    时间是个庸医,却号称包治百病 前端QQ群: 981668406在此附上我的QQ: 2489757828 有问题的话...

  • uuid使用

  • MySQL面试题 | 附答案解析(十七)

    接上篇!!! 9. 主键使用自增ID还是UUID? 推荐使用自增ID,不要使用UUID。 因为在InnoDB存储引...

  • 分析友盟错误日志

    使用dwarfdump命令 dwarfdump --uuid xx.app.dSYM 用来得到app的UUID...

网友评论

    本文标题:PHP 使用 UUID

    本文链接:https://www.haomeiwen.com/subject/euaxzxtx.html