2012-04-30 27 views

回答

7

谷歌 - >「Magento的編譯器模式」 first hit

事實證明,有PHP搜索了大量的包括 文件在大量不同的目錄中可以建立在一定的一個 性能瓶頸負載類型。爲了解決這個問題,Magento核心團隊創建了Magento編譯器擴展,並且 開始在版本1.4 CE附帶使用該功能Magento。

編譯器的工作是複製Magento 系統中的每個類,並將它們放在一個文件夾中。類的全名是用來 的文件名,以確保其唯一性

包括/ src目錄/ Mage_Core_Model_Abstract.php

包括/ src目錄/ Foo_Module_FooController.php

等等

這樣做一旦。然後,當Magento配置爲使用 編譯器類時,其自動加載將在編譯器文件夾 中查找,而不是運行其正常的自動加載例程。這爲PHP遍歷所有不同包含 路徑的文件系統開銷爲 。

+1

你真的想做測試,以確保這實際上加快了你的速度。例如,我的網絡服務器有一個相當快的RAID陣列。啓用編譯器實際上讓我的工作變得更慢。我會了解Apache Benchmarking工具如何工作,以便您可以進行自己的測試。 –

+2

另外,當編譯器模式啓用時,我遇到了奇怪的錯誤。除了清除緩存之外,每次推送更新時重新編譯也很麻煩。我在某處讀到Magento團隊建議不要使用它,因爲在最近發佈的Magento中這不是必需的。 –