gpt4 book ai didi

perl - 为什么在 mod_perl 中加载我的 Perl 模块会导致 Apache 挂起?

转载 作者:行者123 更新时间:2023-12-02 02:37:48 26 4
gpt4 key购买 nike

我有一个 mod_perl 程序,它实现了自己的处理函数(即它不使用 Apache::Registry)。

我有一个使用 Parse::RecDescent 编写的解析器模块。

几个月来,我一直在另一个类似的 mod_perl 程序中成功使用解析器模块,没有出现任何问题。

在我的新 mod_perl 程序中简单地“使用”解析器模块(即不引用模块中的函数)会导致 Apache 服务器生成子进程,直到它达到最大限制。注释掉“use”语句解决了问题(但很明显,我没有使用解析器)。

我怀疑包含该库会导致 Apache 生命周期在结束前挂起。我相信这是在日志记录阶段之后发生的,因为发送了响应并更新了日志。

有没有人给我一些线索?我很茫然。

--菲尔--

最佳答案

我没有给你答案(就我个人而言,我使用 fastcgi...)但我可以建议一种方法:将 strace、ltrace、gdb 等附加到 apache 子进程并查看它卡在哪里。您可能需要使用调试符号重建 apache、mod_perl 甚至 perl,以便从 gdb 获得合理的输出。

关于perl - 为什么在 mod_perl 中加载我的 Perl 模块会导致 Apache 挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/659342/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com