我不知道哪個安裝用於我的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. java線程安全:線程安全嗎?
- 4. 如何修復PHP模塊線程安全/非線程安全的不匹配?
- 5. 如何識別PHP是否使用VC6或VC9,並確定其線程安全或非線程安全?
- 6. 線程安全
- 7. 線程安全
- 8. 線程安全
- 9. 線程安全
- 10. 線程安全
- 11. 線程安全
- 12. 線程安全
- 13. 線程安全
- 14. 線程安全
- 15. 線程安全
- 16. 非線程安全窗口上的PHP線程PHP
- 17. 線程安全應用程序中的線程安全
- 18. 線程安全的程序如何包含非線程安全的類?
- 19. 使用線程安全庫
- 20. 線程安全使用CallContext.LogicalSetData
- 21. 線程安全的
- 22. 線程安全的,
- 23. 部分線程安全是否使Java類線程安全?
- 24. 如何使線程安全,而不是線程安全
- 25. 通過線程安全的容器傳遞非線程安全的對象
- 26. 線程安全:: random_device
- 27. 線程安全singelton
- 28. 線程安全樹
- 29. 線程安全bloomfilter
- 30. httpurlconnection線程安全
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