我不知道哪个安装用于我的PHP?我将使用Apache。我读过线程安全更快与Apache和非线程安全的IIS?是真的(很高兴知道我是否打算以后使用iis)?使用线程安全或非线程安全的PHP?
6
A
回答
11
如果使用创建线程来处理请求(而不是进程)的mod_php和MPM,则应该采用线程安全的方式,否则当多个PHP脚本在不同的时间同时运行时,您可能会遇到一堆不希望的副作用线程在相同的进程空间。在Windows上,Apache2默认使用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脚本在你自己的进程空间中运行,线程安全二进制文件的额外开销是没有理由的。
相关问题
- 1. PHP线程安全和非线程安全的Windows
- 2. 查找安装的PHP是线程安全的还是非线程安全的?
- 3. 如何修复PHP模块线程安全/非线程安全的不匹配?
- 4. 如何识别PHP是否使用VC6或VC9,并确定其线程安全或非线程安全?
- 5. 线程安全
- 6. 线程安全
- 7. 线程安全
- 8. 线程安全
- 9. 线程安全
- 10. 线程安全
- 11. 线程安全
- 12. 线程安全应用程序中的线程安全
- 13. 使用线程安全库
- 14. 线程安全的
- 15. 部分线程安全是否使Java类线程安全?
- 16. 通过线程安全的容器传递非线程安全的对象
- 17. 安全Perl线程
- 18. unordered_map线程安全
- 19. WriteFile线程安全
- 20. CFAttributedString线程安全
- 21. 线程安全树
- 22. Boost.Asio线程安全
- 23. NSMutableString线程安全?
- 24. 线程安全bloomfilter
- 25. SolrJ线程安全
- 26. QAbstractItemModel线程安全
- 27. UI线程安全
- 28. 线程安全InetAddress.isReachable()
- 29. C#线程安全
- 30. 线程安全log4net
IIS是一个巨大的安全和性能问题,不应该用于Apache。 – 2010-08-17 08:27:47
@delan,你为什么这么说? – 2010-08-18 03:19:38
选中此项:http://stackoverflow.com/questions/1623914/what-is-thread-safe-or-non-thread-safe-in-php – biphobe 2011-12-03 19:42:55