![如何从核心转储中提取正在运行的 Apache 配置?](https://linux22.com/image/36530/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%A0%B8%E5%BF%83%E8%BD%AC%E5%82%A8%E4%B8%AD%E6%8F%90%E5%8F%96%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%20Apache%20%E9%85%8D%E7%BD%AE%EF%BC%9F.png)
Apache 正在将配置从文件加载到内存中。如果配置文件正在更改,Apache 进程将不会激活它,直到发生重新加载/重新启动。
现在我必须调试当前正在运行的 Apache 配置(特别是 Vhost 配置)。现在我已经用 gcore 转储了 Apache 内存。那么我该如何继续提取内存转储的相关部分才能到达虚拟主机配置呢? (我假设配置不会以纯文本形式存储在 Apache 内存中,并且需要一些魔法来解码内存)。
我认为以这种方式调试它可能非常复杂。
答案1
我认为以这种方式调试它可能非常复杂。
我也是。没有理由相信 Apache 只是将配置读入内存并时不时地查阅它——更有可能的是,许多选项整体上影响着 apache 的方式自行配置在启动时。
因此,您必须了解 apache 源代码的结构,然后开始尝试找出各个部分最终会出现在核心转储中的位置。
如果有人还没有这方面的工具(我猜他们没有),那么我会尝试寻找其他解决方案来解决您的问题。