主要的問題是,我這里需要給php寫動態(tài)擴(kuò)展庫,而當(dāng)我移植完之后,phpinfo顯示:
引用
standard
Dynamic Library support not available
這樣的話,我寫的動態(tài)鏈接庫就無法加載。。
這里的原因是當(dāng)configure的時候他好像沒有找到dlopen,因此這里我們需要configure完后強(qiáng)制他使用dlopen.
首先修改php的Makefile.在開始出添加LDFLAGS += -ldl ,這里是為了鏈接dlopen庫。
然后修改main/php.h 在開始處添加#define HAVE_LIBDL 1 ,這個宏是為了交叉編譯時強(qiáng)制使用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.這樣就可以正常加載外部動態(tài)擴(kuò)展庫了。