Linux Apache 加载模块之Hello world!

备注之处,以备以后查阅,测试通过:

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)内容全改为:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/31380856e0f6f4ddb4af14c4423ec389.html