备注之处,以备以后查阅,测试通过:
mod_helloworld.c
[cpp]
#include "httpd.h" #include "http_config.h" #include "http_protocol.h" #include "ap_config.h" /* The sample content handler */ static int helloworld_handler(request_rec *r) { if (strcmp(r->handler, "helloworld")) { return DECLINED; } r->content_type = "text/html"; if (!r->header_only) ap_rputs("The sample page from mod_helloworld.c\n", r); return OK; } static void helloworld_hooks(apr_pool_t *p) { ap_hook_handler(helloworld_handler, NULL, NULL, APR_HOOK_MIDDLE); } /* Dispatch list for API hooks */ module AP_MODULE_DECLARE_DATA helloworld_module = { STANDARD20_MODULE_STUFF, //用于编译后的模块产生版本信息 NULL, /* 创建目录配置结构*/ NULL, /* 合并目录配置结构 */ NULL, /* 创建主机配置结构 */ NULL, /* 合并主机配置结构 */ NULL, /* 为模块配置相关指令 */ helloworld_hooks /* 注册模块的钩子函数 */ };首先,需apache能正常安装,例如,我输入localhost/ 显示It works;
首先,我们把这个c文件转换成 so文件:
apxs2 -c mod_helloworld.c ------------------------------------(1)
apxs2 -i mod_helloworld.la
// apxs2 -iacn mod_helloworld.cpp ./mod_helloworld.so
完成后,找到:/etc/apache2/mods-available 和 mods-enabled(快捷方式)
将里面的hellowold.load(mod_hellworld.load)内容全改为: