移植php5到arm linux遇到的问题

来源:岁月联盟 编辑:zhuzhu 时间:2009-09-11

主要的问题是,我这里需要给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.这样就可以正常加载外部动态扩展库了。