2011-05-26 103 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