分享

php extension不加载问题

 mrjbydd 2013-08-12

主要的问题是,我这里需要给php写动态扩展库,而当我移植完之后,phpinfo显示:

引用

standard

Dynamic Library support not available

这样的话,我写的动态链接库就无法加载。。

这里的原因是当configure的时候他好像没有找到dlopen,因此这里我们需要configure完后强制他使用dlopen.

首先修改php的Makefile.在开始出添加LDFLAGS += -ldl ,这里是为了链接dlopen库。

然后修改main/php.h 在开始处添加#define HAVE_LIBDL 1 ,这个宏是为了交叉编译时强制使用dlopen。

紧接着修改ext/standard/dl.c ,这段代码中添加#include <dlfcn.h> ,这个是dlopen的头文件。

#if defined(HAVE_LIBDL) || HAVE_MACH_O_DYLD_H 
 
#include <stdlib.h> 
 
#include <stdio.h> 
 
#include <dlfcn.h>

然后make & make install.这样就可以正常加载外部动态扩展库了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多