2012-03-11 43 views
1

PHP社區最近宣佈了5.4版本。所以,這是我的第一個問題:這個版本最終是否線程安全?最後是PHP 5.4線程安全嗎?

我已經閱讀了許多關於這個熱門話題(PHP花紋安全)的帖子,並且我必須承認我有點困惑。

從今天起,我對這個主題的理解就很糟糕,PHP的「線程安全」版本可以在多線程服務器上使用,例如Apache2-mpm-Worker(或Windows上的IIS) PHP版本應該在多進程服務器上使用,例如Apache2-mpm-Prefork,而我也理解PHP本身不能啓動多個線程。

我目前在Windows 7-64系統上用WampServer2.2d-64在其中phpinfo()指出:線程安全:啓用和Apache 2.2.21加載模塊:mod_php5,也在另一個Ubuntu 10.04上使用PHP 5.3.10。使用PHP 5.3.2-1ubuntu4.14的3 LTS(64位)系統,其中phpinfo()狀態Tread Safety:已禁用,Apache 2.2.14已加載模塊mod_php5。我以爲使用mod_php5會自動加載一個線程安全版本的PHP(但我想我錯了)。

所以,這是我的第二個問題:PHP(任何版本)是真正的線程安全是或否?

所以我的第三個問題是:如何啓用我的Ubuntu系統上的線程安全選項?

而我在這個問題上的最後一個問題是:在線程安全和非線程安全的PHP/Apache版本之間的執行時間有差異嗎?

PS:另外一個問題:如何在Ubuntu上安裝PHP 5.3.10,因爲這個軟件包不是由Synaptic提出的?

回答

1

任何版本/ 5.4最終線程安全嗎?

一個告誡是的。請參閱obtaining PHP FAQWindows download page。並非所有的擴展都是線程安全的並且存在錯誤。大多數Linux發行版都提供非線程版本,包括Ubuntu版本。

如何在我的Ubuntu系統上啓用線程安全選項。

您可以從ubuntu存儲庫獲取軟件包apache2-mpm-workerapache2-threaded-dev。您將需要從源代碼(因此是開發工具包)配置和構建線程版本。再次,一些基本擴展不是線程安全的並且不能使用。

線程安全和非線程安全的PHP/Apache版本之間的執行時間有差異嗎?

是的,但如果你對錶現感興趣,那麼你應該通過看lighttpd或其他選擇。

如何在Ubuntu

安裝PHP 5.3.10

10.04-3 LTS支持5.3.2。精確穿山甲將支持PHP 5.3.10,但這仍在開發中。您可以嘗試在當前版本上構建此源集,但風險自負。

相關問題