2011-05-26 95 views
9

是否有人在Apache worker MPM上使用Magento?是Magento線程安全的?

我讀過的穩定和安全使用工人,而不是prefork的相互矛盾的報道,但也看到該工人比prefork的快得多。

回答

9

PHP5是線程安全的,但PHP擴展不是全部線程安全的。所以在worker-mpm上運行PHP應用程序被認爲是有害的。 Magento是一個PHP應用程序,與其他任何PHP應用程序一樣,很可能您正在某處使用某些PHP擴展(GD,Xml等),並且您無法測試它是否適合線程穩定性(很難測試)。

但是你可以做的是使用Apache作爲工人(處理確實多了很多的HTTP請求,所有靜態文件非常有用),並推動了PHP的Apache(所以沒有mod_php的)。

對於您將不得不使用PHP與fcgidPHP-FPM,即CGI的現代版說這幾句話。

+0

謝謝,非常有幫助。所以Apache然後運行快速cgi,然後運行php?這是如何改變線程的安全性的? – dbcn 2011-05-26 14:45:56

+2

@dbcn:很好用fcgid過程中,你將不會在線程模式下,PHP-FPM將創建幾個PHP進程,每個進程將在臨死前幾個服務請求,但只有一次一個,沒有線程有AFAIK,所以沒有線程安全問題。因此,這是不是一個真正的關於Magento的線程安全響應,但確認的Magento的線程安全性和自定義的Magento使用的所有代碼是一個更爲複雜的問題:-) – regilero 2011-05-26 15:21:02