php中生成标准uuid(guid)的方法

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。

其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的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.tgztar -zxvf uuid-1.0.4.tgzcd uuid-1.0.4# 因为我的PHP 是装在 exec 下,具体看各人自已的环境/opt/php/exec/bin/phpize./configure --with-php-config=/opt/php/exec/bin/php-configmake && 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;}
发布了13 篇原创文章 · 获赞 30 · 访问量 9万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览