日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php opcache 详解

發布時間:2023/12/10 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php opcache 详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP性能提升之OPcache相關參數詳解

工具?memory 發布于December 15, 2016 標簽:?PHP

OPcache 通過將?PHP?腳本預編譯的字節碼存儲到共享內存中來提升 PHP 的性能, 存儲預編譯字節碼的好處就是 省去了每次加載和解析 PHP 腳本的開銷。

PHP 5.5.0 及后續版本中已經綁定了 OPcache 擴展。 對于 PHP 5.2,5.3 和 5.4 版本可以使用 ? PECL 擴展中的 OPcache 庫。

安裝

php5.5及以后的版本在編譯時加上

--enable-opcache

選項來開啟 OPcache。

PHP 5.2, 5.3 和 5.4 版本則需要編譯pecl擴展
從?http://pecl.php.net/package/ZendOpcache?下載
大概如下:

cd extname phpize ./configure --with-php-config=/path/php/bin/php-config make make install


配置指令的簡短說明

  • opcache.enable boolean 啟用操作碼緩存。如果禁用此選項,則不會優化和緩存代碼
  • opcache.enable_cli boolean 僅針對 CLI 版本的 PHP 啟用操作碼緩存
  • opcache.memory_consumption integer OPcache 的共享內存大小,以兆字節為單位
  • opcache.interned_strings_buffer integer 用來存儲臨時字符串的內存大小,以兆字節為單位
  • opcache.max_accelerated_files integer OPcache 哈希表中可存儲的腳本文件數量上限 設置值取值范圍最小值是 200,最大值在 PHP 5.5.6 之前是 100000,PHP 5.5.6 及之后是 1000000。
  • opcache.max_wasted_percentage integer 浪費內存的上限,以百分比計。 如果達到此上限,那么 OPcache 將產生重新啟動續發事件。
  • opcache.use_cwd boolean 如果啟用,OPcache 將在哈希表的腳本鍵之后附加改腳本的工作目錄, 以避免同名腳本沖突的問題。 禁用此選項可以提高性能,但是可能會導致應用崩潰。
  • 比如,兩個腳本名稱一樣..不使用此項,可能導致 兩個腳本錯亂!!!
  • opcache.validate_timestamps boolean 如果啟用,那么 OPcache 會每隔 opcache.revalidate_freq 設定的秒數 檢查腳本是否更新。 如果禁用此選項,你必須使用 opcache_reset() 或者 opcache_invalidate() 函數來手動重置 OPcache,也可以 通過重啟 Web?服務器來使文件系統更改生效。
  • opcache.revalidate_freq integer 檢查腳本時間戳是否有更新的周期,以秒為單位。 設置為 0 會導致針對每個請求, OPcache 都會檢查腳本更新。如果 opcache.validate_timestamps 配置指令設置為禁用,那么此設置項將會被忽略。
  • opcache.revalidate_path boolean 如果禁用此選項,在同一個 include_path 已存在的緩存文件會被重用
  • opcache.save_comments boolean 如果禁用,腳本文件中的注釋內容將不會被包含到操作碼緩存文件, 這樣可以有效減小優化后的文件體積,但會導致某些框架不可用
  • opcache.load_comments boolean 如果禁用,則即使文件中包含注釋,也不會加載這些注釋內容。 本選項可以和 opcache.save_comments 一起使用,以實現按需加載注釋內容。
  • opcache.fast_shutdown boolean 如果啟用,則會使用快速停止續發事件。
  • opcache.enable_file_override boolean 如果啟用,則在調用函數 file_exists(), is_file() 以及 is_readable() 的時候, 都會檢查操作碼緩存,無論文件是否已經被緩存。 如果應用中包含檢查 PHP 腳本存在性和可讀性的功能,這樣可以提升性能。 但是如果禁用了 opcache.validate_timestamps 選項, 可能存在返回過時數據的風險。
  • opcache.optimization_level integer 控制優化級別的二進制位掩碼。
  • opcache.inherited_hack boolean 在 PHP 5.3 之前的版本,OPcache 會存儲代碼中使用 DECLARE_CLASS 操作碼 來實現繼承的位置。當文件被加載之后,OPcache 會嘗試使用當前環境來綁定被繼承的類。 由于當前腳本中可能并不需要 DECLARE_CLASS 操作碼,如果這樣的腳本需要對應的操作碼被定義時, 可能無法運行。 在 PHP 5.3 及后續版本中,此配置指令會被忽略。
  • opcache.dups_fix boolean 僅作為針對 “不可重定義類”錯誤的一種解決方案。
  • opcache.blacklist_filename string OPcache 黑名單文件位置。 黑名單文件為文本文件,包含了不進行預編譯優化的文件名,每行一個文件名。 黑名單中的文件名可以使用通配符,也可以使用前綴。 此文件中以分號(;)開頭的行將被視為注釋。?
    例如:
; 將特定文件加入到黑名單 /var/www/broken.php ; 以字符 x 文件打頭的文件 /var/www/x ; 通配符匹配 /var/www/*-broken.php
  • opcache.max_file_size integer 以字節為單位的緩存的文件大小上限。設置為 0 表示緩存全部文件。
  • opcache.consistency_checks integer 如果是非 0 值,OPcache 將會每隔 N 次請求檢查緩存校驗和
  • opcache.force_restart_timeout integer 如果緩存處于非激活狀態,等待多少秒之后計劃重啟。 如果超出了設定時間,則 OPcache 模塊將殺除持有緩存鎖的進程, 并進行重啟。
  • opcache.error_log string OPcache 模塊的錯誤日志文件。
  • opcache.log_verbosity_level integer OPcache 模塊的日志級別。
  • opcache.preferred_memory_model string OPcache 首選的內存模塊。可選值包括: mmap,shm, posix 以及 win32。
  • opcache.protect_memory boolean 保護共享內存,以避免執行腳本時發生非預期的寫入
  • opcache.mmap_base string 在?Windows?平臺上共享內存段的基地址。
  • opcache.restrict_api string 僅允許路徑是以指定字符串開始的 PHP 腳本調用 OPcache API 函數。

轉載于:https://www.cnblogs.com/whm-blog/p/10103203.html

總結

以上是生活随笔為你收集整理的php opcache 详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。