mac下为php添加UUID扩展不成功的解决方案
来源:互联网 发布:天气在线软件下载 编辑:程序博客网 时间:2024/05/22 08:10
将下载好的uuid扩展下载下来,下载地址
下载后之后编译会不成功,会出现
use of undeclared identifier 'UUID_TYPE_DCE_TIME'
这样的错误
解决办法,因为不知道如何上传文件,这里先简单写一下如何修改,等以后研究好了如何上传文件后将修改后的文件上传上来。
修改未编译前的几个文件,第一个修改config.m4文件:
在第10行:PHP_CHECK_FUNC_LIB(uuid_variant, uuid)后面添加两行内容
PHP_CHECK_FUNC_LIB(uuid_time, uuid)
PHP_CHECK_FUNC_LIB(uuid_mac, uuid)
删除第18行之后的下面两行内容:
PHP_SUBST(UUID_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(uuid, $PHP_UUID_DIR/lib, UUID_SHARED_LIBADD)
然后添加下面几行内容:
AC_MSG_CHECKING(PHP version) AC_TRY_COMPILE([], [#ifdef __APPLE__#error compiling on darwin#endif],[],[export UUID_ON_MAC=true]) if test $UUID_ON_MAC != "true"; then PHP_SUBST(UUID_SHARED_LIBADD) PHP_ADD_LIBRARY_WITH_PATH(uuid, $PHP_UUID_DIR/lib, UUID_SHARED_LIBADD) fi
最后删除如下一行内容:PHP_SUBST(UUID_SHARED_LIBADD)第二个文件为php_uuid.h做如下修改在PHP_FUNCTION(uuid_time);这一段内容之前添加如下内容#if HAVE_UUID_TIME在这一段内容之后添加如下内容#endif /* HAVE_UUID_TIME */在PHP_FUNCTION(uuid_mac);这一块内容之前和最后添加分别添加下面两行:#if HAVE_UUID_MAC#endif /* HAVE_UUID_MAC */在PHP_FUNCTION(uuid_parse); #if (PHP_MAJOR_VERSION >= 5)@@ -185,6 +190,15 @@ ZEND_END_ARG_INFO() } // extern "C" #endif这段之后添加添加下面一段内容:#ifndef UUID_TYPE_DCE_TIME#ifdef __APPLE__/* UUID Type definitions */#define UUID_TYPE_DCE_TIME 1#define UUID_TYPE_DCE_RANDOM 4#endif /* __MACOS__ */#endif /* UUID_TYPE_DCE_TIME */最后将#endif /* PHP_HAVE_UUID */改为#endif /* HAVE_UUID */第三个文件tests/uuid_mac.phpt修改为--TEST--uuid_mac() function--SKIPIF--<?php if(!extension_loaded('uuid')) die('skip ');if(!function_exists('uuid_mac')) die('skip not compiled in (HAVE_UUID_MAC)'); ?>--FILE--<?phpvar_dump(uuid_mac("b691c99c-7fc5-11d8-9fa8-00065b896488"));var_dump(uuid_mac("878b258c-a9f1-467c-8e1d-47d79ca2c01b"));?>--EXPECT--string(12) "00065b896488"bool(false)第四个文件tests/uuid_time.phpt修改为--TEST--uuid_time() function--SKIPIF--<?php if(!extension_loaded('uuid')) die('skip ');if(!function_exists('uuid_time')) die('skip not compiled in (HAVE_UUID_TIME)'); ?>--FILE--<?phpvar_dump(uuid_time("b691c99c-7fc5-11d8-9fa8-00065b896488"));var_dump(uuid_time("878b258c-a9f1-467c-8e1d-47d79ca2c01b"));?>--EXPECT--int(1080374815)bool(false)第五个文件uuid.c将uuid_functions修改为zend_function_entry uuid_functions[] = {PHP_FE(uuid_create , uuid_create_arg_info)PHP_FE(uuid_is_valid , uuid_is_valid_arg_info)PHP_FE(uuid_compare , uuid_compare_arg_info)PHP_FE(uuid_is_null , uuid_is_null_arg_info)#if HAVE_UUID_TYPEPHP_FE(uuid_type , uuid_type_arg_info)#endif /* HAVE_UUID_TYPE */#if HAVE_UUID_VARIANTPHP_FE(uuid_variant , uuid_variant_arg_info)#endif /* HAVE_UUID_VARIANT */#if HAVE_UUID_TIMEPHP_FE(uuid_time , uuid_time_arg_info)#endif /* HAVE_UUID_TIME */#if HAVE_UUID_MACPHP_FE(uuid_mac , uuid_mac_arg_info)#endif /* HAVE_UUID_MAC */PHP_FE(uuid_parse , uuid_parse_arg_info)PHP_FE(uuid_unparse , uuid_unparse_arg_info){ NULL, NULL, NULL }};
0 0
- mac下为php添加UUID扩展不成功的解决方案
- linux下为php添加curl扩展的方法
- linux下为php添加curl扩展的方法
- linux下为php添加curl扩展的方法
- Linux下为PHP添加扩展库的方法
- Linux下为PHP添加新扩展库的方法
- centos 下为PHP添加svn扩展
- inux下为php添加扩展库
- centos 下为php添加mongodb扩展
- linux下为php添加模块扩展
- Linux下为PHP添加FTP扩展
- Linux下为PHP添加扩展库
- Linux下为PHP添加FTP扩展
- windows 下 为php添加memcache扩展
- Linux下为PHP添加MongoDB扩展
- centos下为php添加gd扩展
- centos下为php添加pdo_mysql扩展
- php 在mac上为php添加pcntl扩展
- javac参数(-classpath, -sourcepath)详解
- RestFul(一)WebService之CXF的RestFul风格开发
- Java中Properties类的操作
- Restful(二)Spring整合CXF,发布RSETful 风格WebService
- Spring整合mongodb详解
- mac下为php添加UUID扩展不成功的解决方案
- Sublime Text 3入门
- 十六进制色值转换
- 【Android开发】基本组件-复选框
- 《将博客搬至CSDN》
- Spring 简单的定时任务实例
- Java-Collections Framework学习与总结-ArrayDeque
- [置顶] mongodb Replica Sets +Sharding高可用集群搭建
- 致“想创业”和“正在创业”的人们~