关于apache:使用线程安全还是非线程安全的php?

to use thread safe or non thread safe php?

我想知道我的PHP要使用哪个安装?我将使用Apache。我知道Apache的线程安全更快,而IIS的非线程安全更快?是真的吗(很高兴知道我以后是否打算使用IIS)?


如果使用创建线程来处理请求(而不是进程)的mod_php和mpm,那么应该使用线程安全,否则当多个php脚本在同一进程空间的不同线程中同时运行时,可能会产生一系列不需要的副作用。Apache2在Windows上默认使用mpm-winnt-mpm,它创建线程来处理传入的请求。所以,如果您使用它,请使用线程安全二进制文件。但是请注意,即使PHP本身是线程安全的,您使用的库/扩展也可能不是。因此,即使使用线程安全的PHP二进制文件,mod_php和线程MPM可能仍然存在问题。有关详细信息,请查看以下常见问题解答条目:http://fi.php.net/manual/en/faq.installation.php faq.installation.apache2

但是,如果您不使用mod_-php(例如,您使用的是fcgi),或者您使用mod_-php,但使用的是生成进程而不是线程来处理请求的mpm(例如,预处理mpm),那么您应该使用非线程安全的二进制文件,因为它比线程安全的版本更有效,而且由于当您'webserver的设置是这样的,没有理由增加线程安全二进制文件的额外开销。