CSDN博客

img FeiSan

PHP应该和Apache 1.3.x配合还是应该和Apache 2.x配合?

发表于2004/10/31 23:25:00  1486人阅读

Apache 2.x已经发布很长时间了,很多情况下都推荐使用2.x,而不是1.3.x。

可是在PHP官方的Manual中,却明确指出:

警告

在企业级应用中无论是 Unix 还是 Windows 都不要使用 Apache 2.0 和 PHP 的组合。

这是为什么?

这个讨论可以解释一些问题 http://simon.incutio.com/archive/2004/03/31/phpAndApache2

大体说来,Apache 2可以编译成multi-threading模式,而PHP的一些东东不是thread-safe的,所以不推荐在multi-threading模式下的Apache使用。换句话说,如果把Apache2编译成为multi-processes 模式,PHP应该是可以正常工作的。至于multi-processes下的Apache2工作效率和1.3.x相比到底如何,我想应该不会太差吧。

在PHP的Manual里专门提到:

假如您要编译一个多线程版本的 Apache 2.0,您必须覆盖标准的 MPM-Module prefork,或者 worker 或者 perchild。要这样,您需要......使用 --with-mpm=worker 或者 --with-mpm=perchild 选项。之前您需要了解您正在做什么。更多信息请参考 Apache 文档中关于 MPM-Modules 的部分。

注: 要编译多线程版本的 Apache,您的系统必须支持多线程。这也意味着需要将 PHP 编译为正处在试验阶段的 Zend Thread Safety (ZTS)。因此并不是所有的扩展都可以使用了。推荐编译 Apache 使用标准的 prefork MPM-Module。

嗯,回头可以去看看ZTS。还有,不知道PHP5怎么样。

 

阅读全文
0 0

相关文章推荐

img
取 消
img