1

我计划将 LIGHTTPD 移植到我的嵌入式系统。我的环境中没有 fork () 系统调用。我可以在 lighttpd 源中看到#define HAVE_FORK,如果未定义,lighttpd 将不会进行任何 fork 调用。到目前为止,一切都很好..

但是在其中一个 lighttpd 模块“mod_cgi”中,我可以看到一个不受语句 if (HAVE_FORK) { ...} 保护的 fork() 调用

有没有办法在“mod_cgi”中避免这个fork()调用,我可以在编译期间禁用这个模块吗?

非常感谢您的帮助,请对此发表评论。

4

1 回答 1

1

lighttpd 中的 CGI 仅支持与外部 CGI 进程(例如php-cgi)的通信,因此 mod_cgi 模块需要 fork()。

如果您不需要 CGI,那么只需从构建中省略 mod_cgi (我猜在您的环境中您将省略几乎所有模块;只有几个是强制性的)。如果您确实需要 CGI,那么您要么在 lighttpd 上做很多工作,要么您应该查看一个正在处理 CGI 的 Web 服务器。

于 2012-06-16T19:54:44.187 回答