中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中的OPcache 如何擴展

發布時間:2020-07-30 11:37:01 來源:億速云 閱讀:175 作者:Leah 欄目:編程語言

PHP中的OPcache 如何擴展?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

OPcache 通過將 PHP 腳本預編譯的字節碼存儲到共享內存中來提升 PHP 的性能, 存儲預編譯字節碼的好處就是 省去了每次加載和解析 PHP 腳本的開銷。PHP 5.5 之后的版本都是默認綁定該擴展的,之前的 PHP 5.2,5.3 和 5.4 版本可以使用 ? PECL 擴展中的 OPcache 庫。

配置項解釋

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

該配置項是PHP手冊推薦,在 php.ini 中間進行設置,關于每個配置項的說明如下:

  • opcache.memory_consumption :OPcache 的共享內存大小,以兆字節為單位。
  • opcache.interned_strings_buffer :用來存儲預留字符串的內存大小,以兆字節為單位。 PHP 5.3.0 之前的版本會忽略此配置指令。
  • opcache.max_accelerated_files :OPcache 哈希表中可存儲的腳本文件數量上限。 真實的取值是在質數集合 { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } 中找到的第一個大于等于設置值的質數。 設置值取值范圍最小值是 200,最大值在 PHP 5.5.6 之前是 100000,PHP 5.5.6 及之后是 1000000。
  • opcache.revalidate_freq :檢查腳本時間戳是否有更新的周期,以秒為單位。 設置為 0 會導致針對每個請求, OPcache 都會檢查腳本更新。如果 opcache.validate_timestamps 配置指令設置為禁用,那么此設置項將會被忽略。
  • opcache.validate_timestamps : 如果啟用,那么 OPcache 會每隔 opcache.revalidate_freq 設定的秒數 檢查腳本是否更新。 如果禁用此選項,你必須使用 opcache_reset() 或者 opcache_invalidate() 函數來手動重置 OPcache,也可以 通過重啟 Web 服務器來使文件系統更改生效。
  • opcache.fast_shutdown :如果啟用,則會使用快速停止續發事件。 所謂快速停止續發事件是指依賴 Zend 引擎的內存管理模塊 一次釋放全部請求變量的內存,而不是依次釋放每一個已分配的內存塊。從 PHP 7.2.0 開始,此配置指令被移除。 快速停止的續發事件的處理已經集成到 PHP 中, 只要有可能,PHP 會自動處理這些續發事件。
    更多配置項說明請參考 OPcache手冊。

OPcache函數

OPcache提供了一些內置函數,用于控制字節碼的緩存狀態,使用前提是需要開啟 OPcache 擴展。

  • opcache_compile_file :不需要運行即可編譯緩存PHP腳本,如果單獨使用參數 FILE 必填,FILE 為腳本路徑,例如:opcache_compile_file('index.php')
  • opcache_get_configuration :獲取 opcache 的當前所有配置信息
  • opcache_get_status :獲取 opcache 的當前緩存信息,信息包含共享內存空間是否滿載等
  • opcache_invalidate :廢除腳本緩存,有兩個參數,script (腳本路徑信息) 必填,force(boolean) 選填,如果 force 參數為 true 強制廢除緩存,如果為 false 或不填,那么只有當腳本的修改時間 比對應字節碼的時間更新,腳本的緩存才會失效。
  • opcache_is_script_cached :檢查腳本是否在OPCache中緩存,參數 FILE(文件路徑) 必填
  • opcache_reset :充值所有 opcache 緩存,等待下一次執行編譯

開發注意事項

在本地開發環境中,建議關閉 OPcache 擴展,緩存可能會讓本地調試產生很多問題,減低開發效率。

關于共享內存的知識擴展

共享內存是一種在相同機器中的應用程序之間交換數據的有效方式。內存對于程序的執行效率要高于磁盤I/O,所以合理的使用內存可以提升程序的效率。它的應用場景有web請求、數據庫查詢、模板引擎緩存、以及當前文章里提到的 OPcache 對于 PHP 的編譯緩存。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霍山县| 宣城市| 石门县| 黔南| 兰溪市| 靖安县| 许昌县| 项城市| 万全县| 宁蒗| 衡东县| 东台市| 托里县| 汶上县| 鄂温| 阜南县| 彝良县| 阳原县| 平江县| 裕民县| 涟水县| 镇平县| 宜昌市| 临澧县| 高要市| 那坡县| 田阳县| 新宁县| 嘉善县| 台安县| 临猗县| 伊通| 钦州市| 盐亭县| 恩施市| 光山县| 大兴区| 辽阳市| 剑阁县| 泽州县| 日土县|