php で uuid を生成する

pecl に uuid とやらがあるらしいのでそれを使うのが良さそう。

以下インストールメモ。

$ sudo pecl install -a uuid
$ sudo vi /etc/php.ini
+extension=uuid.so
$ sudo /etc/init.d/httpd reload

# test(uuidが生成されればOK)
$ php -r "echo uuid_create(UUID_TYPE_RANDOM);"
d87d4a38-d33a-418f-ae13-603c90d54aec
$ php -r "echo uuid_create(UUID_TYPE_TIME);"
d286ebb4-46d1-11e2-9994-525401006414

extensionは php.d/uuid.ini に書いた方が良い気がしますね

参考 PHPでUUIDの生成 | プラスター業務日記

  • for osx

pecl からだとこけるので make installした。

$ wget http://pecl.php.net/get/uuid-1.0.2.tgz
$ tar zxvf uuid-1.0.2.tgz
$ cd uuid-1.0.2/

# http://pastie.org/435461 から パッチ をDL
$ patch < pastie-435461.diff
# filepathを聞かれたら以下を入力
tests/uuid_mac.phpt

$ phpize
$ ./configure --with-php-config=/usr/local/bin/php-config
$ make
$ make install
$ vi /usr/local/etc/php.ini
+extension=uuid.so

$ sudo apachectl restart
$ php -r "echo uuid_create();"
43EF4446-056C-4DC3-8B43-D3B66896C3F3

参考 MAMP & PECL/UUID Module Working On Snow Leopard « Unreal Expectations