2010-04-30 675 views
2

当我尝试使用php代码连接到Apache Cassandra服务器时,出现错误“致命错误:调用未定义的函数uuid_make()”。我可以发现PHP安装中缺少PHP UUID扩展。任何人都可以请建议从哪里我可以下载DLL文件的PHP安装在我的Windows 7机器。适用于Windows的PHP UUID扩展DLL文件

+0

如果你标记我的答案是正确的,如果它帮助 – philfreo 2010-10-21 07:12:31

回答

2

由于没有用于在线提供的PHP UUID扩展的.dll文件,因此您需要从源代码编译它。它不应该太硬...

在这里下载: http://pecl.php.net/package/uuid

按此处说明: http://php.net/manual/en/install.pecl.windows.php

您也可以直接从PECL安装,说明这里: http://wiki.php.net/internals/windows/stepbystepbuild

+0

的PECL包UUID(a.k.a PHP扩展UUID)我会很感激大约从ext2utils项目,这是一个特定的Linux库libuuid的包装。所以,不,你不能将它编译成源码的DLL。 – 2014-11-03 23:05:09

2

不幸的是,PECL UUID扩展是OS特有的,只能在Linux(包括OS X)或Solaris上运行。

在Windows下你有几个备选方案:

  • 退房com_create_guid(http://php.net/manual/en/function.com-create-guid.php),这是一个仅适用于Windows PHP函数。

  • MySQL有一个函数调用UUID(http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html#function_uuid),这将产生一个UUID,使用类似 “SELECT UUID()” 作为您的SQL查询。 (我还没有测试过,这是可用的Windows版本,如果你使用它,请发表回复,让大家知道你是如何得到的)

  • 如果你不担心你的UUID的唯一性(原因对于UUID,应尽可能保证您在应用程序的生命周期中不会生成两个相同的值),那么您可以尝试一些纯粹的PHP实现。这不是最理想的解决方案,我绝对不会在生产中做到这一点,但它可能已经足够满足您的需求 - 网络上有大量用于获取灵感的东西。