2010-04-30 42 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實現。這不是最理想的解決方案,我絕對不會在生產中做到這一點,但它可能已經足夠滿足您的需求 - 網絡上有大量用於獲取靈感的東西。

相關問題