Apache 2.2.16 + PHP 5.2.14 有时会导致 Apache 无法正常停止

Apache 2.2.16 + PHP 5.2.14 有时会导致 Apache 无法正常停止

有时,Apache 决定不正常关闭。killall apache2或者kill -9 (apache2 PID here)关闭它,以便它实际上可以在没有使用端口的情况下重新启动。其他帖子似乎表明 PHP 5.2 可能会出现挂起 Apache 的问题。如果有帮助的话,我正在 x86_64 Gentoo Linux 系统上使用 worker MPM。

除了 PHP 之外,我还应该考虑挂起 Apache 吗?我应该用/etc/init.d/apache2 gracefulstop而不是来停止 Apache 吗/etc/init.d/apache2 stop

答案1

切换到preforkMPM 解决了这个问题,但代价是占用了更多的内存。我猜是存在某种并发问题,导致所有线程worker无法正确停止。此外,PHP 不建议使用除 之外的任何其他方法prefork,因此这可能是有充分理由的。

相关内容