其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不须要通过中心掌握端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的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;}