我想知道我的php使用哪个安装?我将使用apache。我读到,对于IIS,apache和非线程安全的线程安全性更快?是真的(很高兴知道我以后是否打算使用iis)?
答案 0 :(得分:11)
如果你使用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而不是线程来处理请求(例如prefork MPM ),那么你应该使用非线程安全二进制文件,因为它比线程安全版本更有效,并且由于PHP脚本在你自己的进程空间中运行,当你以这种方式设置你的web服务器时,没有理由额外的线程安全二进制文件的开销。