为什么Apache每个进程都要加载相关的模块?

为什么Apache每个进程都要加载相关的模块?

每次启动 httpd 进程时,它都会访问所有 PHP 和 Apache 模块。有什么方法可以改变这种行为吗?

答案1

好吧,如果你想这样做,你可能需要使用 apache 中的线程模块。指的是工作模块,而不是 prefork。

虽然它有自己的缺点,但是由于它使用共享内存并使用线程,因此它会更快、更轻便。

您可以在此处阅读有关线程和分叉的更多信息网址

答案2

每个进程实际上都是自己的服务。当一个进程启动时,它无法知道它可能需要哪些模块。因此,它会加载所有模块,以便能够正确处理请求。这是一个基本的设计决策,如果不重写 Apache,就无法改变它。

相关内容