如何查看apache加载了哪些模块?

原文: http://blog.csdn.net/qmhball/article/details/7631384

-----------------------------------------------------------

在做apache配置时,突然想到的问题:有没有什么方法可以查看apache加载了哪些模块呢?

四处查找后得出以下结论:

首先:

[plain]view plaincopy

  1. apache2/bin/apachectl -l

可以看到类似下面的结果:

[plain]view plaincopy

  1. Compiled in modules:
  2. core.c
  3. mod_access.c
  4. mod_include.c
  5. mod_deflate.c
  6. mod_log_config.c
  7. mod_expires.c
  8. mod_setenvif.c
  9. prefork.c
  10. http_core.c
  11. mod_mime.c
  12. mod_cgi.c
  13. mod_dir.c
  14. mod_alias.c
  15. mod_rewrite.c
  16. mod_so.c

这是编译时就已编译在apache中的模块,启动时自然会加载。

另外一部分,要看apach的配置文件(httpd.conf)的LoadModule部分,比如:

[plain]view plaincopy

  1. LoadModule php5_module modules/libphp5.so

这部分也会在apache启动时加载。

两部分加起来就是apache启动时加载的所有模块了。

PS:在网上看到有同学说

[plain]view plaincopy

  1. ./apachectl -t -D DUMP_MODULES

可以直接列出所有加载模块,但我这里不行,不知道是不是因为环境或apache版本所致。

有更好的方法,欢迎留言。