使用线程安全或非线程安全的PHP?

Jie*_*eng 7 php apache

我想知道我的PHP使用哪个安装?我将使用apache.我读到,对于IIS,apache和非线程安全的线程安全性更快?是真的(很高兴知道我以后是否打算使用iis)?

rek*_*o_t 11

如果你使用mod_php和MPM创建线程来处理请求(而不是进程),你应该使用线程安全,否则当多个PHP脚本在同一进程中的不同线程中同时运行时,你可能会得到一堆不希望的副作用空间.Apache2 默认在Windows上使用mpm_winnt MPM,它创建线程来处理传入的请求.因此,如果您使用它,请使用线程安全二进制文件.但请注意,即使PHP本身是线程安全的,您使用的库/扩展也可能不是.因此,即使使用线程安全的PHP二进制文件,您仍可能遇到mod_php和线程MPM的问题.有关更多信息,请查看此FAQ条目:http://fi.php.net/manual/en/faq.installation.php#faq.installation.apache2

但是,如果您没有使用mod_php(例如,您正在使用FCGI),或者您正在使用mod_php但是正在使用生成进程而不是线程来处理请求的MPM(例如prefork MPM),那么您应该使用非线程安全二进制文件,因为它比线程安全版本更有效,并且由于PHP脚本在您自己的进程空间中运行,当您以这种方式设置Web服务器时,没有理由需要线程安全二进制文件的额外开销.