編譯 - PHP中require和include的問題。

來源:互聯網
上載者:User
已知require和include都是引入檔案。現在的很多架構都是單入口,在架構初始化的時候要require很多個類庫和檔案,問題是:

  1. require的檔案最後放在記憶體裡嗎?
  2. 如果第一個問題成立,那麼當很多人同時訪問伺服器的時候,a. 放在記憶體裡的這些檔案能給大家共用用嗎?b. 還是每一個使用者訪問都重新開闢一塊記憶體?

回複內容:

已知require和include都是引入檔案。現在的很多架構都是單入口,在架構初始化的時候要require很多個類庫和檔案,問題是:

  1. require的檔案最後放在記憶體裡嗎?
  2. 如果第一個問題成立,那麼當很多人同時訪問伺服器的時候,a. 放在記憶體裡的這些檔案能給大家共用用嗎?b. 還是每一個使用者訪問都重新開闢一塊記憶體?

記得 php5.5 zend 出的 OpCode Cache 可以緩存免得重複編譯。

這時 1 和 2.a 都是成立的了。

而 2.b 是執行的時候的 context 不是 cache。cache 是公用的,context 是單獨的。

參閱:https://support.cloud.engineyard.com/entries/26902267-PHP-Performance-I-Everything-You-Need-to-Know-About-OpCode-Caches

1.檔案內容肯定不是放在記憶體,應該是按載入順序編譯。
2.每個使用者請求都應該是獨立的,需要重新載入和編譯代碼。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.