一、什麼是UUID
簡單的說UUID就是一串全球唯一的(16進制)數字串。
UUID的全拼為“Universally Unique Identifier”,可以譯為“通用唯一識別碼”。UUID由開源軟件基金會 (Open Software Foundation, OSF) 定義,是分布式計算環境 (Distributed Computing Environment, DCE) 的一個組成部分。
UUID的標准格式為“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx”,五個部分分別為8個字符、4個字符、4個字符、4個字符、12個字符,中間用“-”號間隔。常見的GUID(Globally Unique Identifier)是微軟對UUID標准的一種實現。
二、為什麼要使用UUID
好處那叫一個多呀~~~,您隨便百度把。
三、UUID的生成代碼
這個……,真心過時了,用擴展吧,別自己寫代碼了。
四、安裝UUID擴展
相關的擴展在這裡:PECL :: Package :: uuid。
PHP擴展安裝步驟一直就是那幾個:
wget http://pecl.php.net/get/uuid-1.0.3.tgz tar zxvf uuid-1.0.3.tgz cd uuid-1.0.3 phpize ./configure make make install
好了,然後編輯一下PHP配置文件,重啟一下服務器,到phpinfo()去看效果吧:
安裝成功之後,寫兩行代碼測試一下吧:
1 <?php 2 //uuid.php 3 echo uuid_create(), '<br />\n'; 4 echo uuid_create(1); //建議用法
刷新幾次頁面,觀察一下兩行UUID的變化,有什麼發現嗎?想進一步了解的話,請學習一下UUID的幾個版本是如何定義的吧。
五、安裝擴展可能遇到的問題
安裝擴展遇到問題一般都是系統缺少相關組件造成的。
在centos 7中,需要先安裝libuuid-devel,這個用yum命令就可以了。
在mac os 10.9中則需要先安裝libuuid,這個要到libuuid | SourceForge.net下載。
好了,就這些,有真正的v1 UUID可用了。
<?php phpinfo();?>
是否已經有MYSQL
否則
PHP.INI配置有問題
www.broofa.com/Tools/Math.uuid.js
Math.uuid = (function() {
// Private array of chars to use
var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
return function (len, radix) {
var chars = CHARS, uuid = [], rnd = Math.random;
radix = radix || chars.length;
if (len) {
// Compact form
for (var i = 0; i < len; i++) uuid[i] = chars[0 | rnd()*radix];
} else {
// rfc4122, version 4 form
var r;
// rfc4122 requires these characters
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
uuid[14] = '4';
// Fill in random data. At i==19 set the high bits of clock sequence as
// per rfc4122, sec. 4.1.5
for (var i = 0; i < 36; i++) {
if (!uuid[i]) {
r = 0 | rnd()*16;
uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r & 0xf];
}
}
}
return uuid.join('');
};
})();
// Deprecated - only here for backward compatability
var randomUUID = Math.uuid;
function generateUUID()
{
return Math.uuid();
}...余下全文>>