You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统下安装PHP UUID扩展编译报错,如何解决?

解决PHP UUID扩展编译时的未声明标识符错误

这个问题我之前帮不少开发者排查过,核心原因是你安装的新版ossp-uuid,和你使用的PHP UUID扩展(1.0.4)里硬编码的旧常量命名不兼容了。新版本的ossp-uuid已经把UUID_TYPE_DCE_TIME、UUID_TYPE_DCE_RANDOM这类带DCE前缀的常量名,简化成了UUID_TYPE_TIME和UUID_TYPE_RANDOM,直接改源码就能解决:

  • 打开你的扩展源码文件:/Users/houziqiang/sapp/uuid-1.0.4/uuid.c
  • 定位到报错的第93、94行,找到这两段代码:
    REGISTER_LONG_CONSTANT("UUID_TYPE_TIME", UUID_TYPE_DCE_TIME, CONST_PERSISTENT | CONST_CS);
    REGISTER_LONG_CONSTANT("UUID_TYPE_DCE", UUID_TYPE_DCE_RANDOM, CONST_PERSISTENT | CONST_CS);
    
  • 将里面的常量名替换为新版ossp-uuid对应的名称:
    REGISTER_LONG_CONSTANT("UUID_TYPE_TIME", UUID_TYPE_TIME, CONST_PERSISTENT | CONST_CS);
    REGISTER_LONG_CONSTANT("UUID_TYPE_DCE", UUID_TYPE_RANDOM, CONST_PERSISTENT | CONST_CS);
    
  • 保存文件后,重新执行make和make install,编译应该就能顺利完成了。

如果不想修改源码,也可以尝试安装和该PHP扩展版本兼容的旧版ossp-uuid,但改源码显然是更快捷的方案。

内容的提问来源于stack exchange,提问作者qingdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:17:52