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

溫馨提示×

溫馨提示×

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

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

在PHP5.5.34版本中啟用Zend Opcache

發布時間:2020-07-19 20:40:37 來源:網絡 閱讀:900 作者:kuSorZ 欄目:web開發

大家知道目前PHP的緩存插件一般有三個:APC、eAccelerator、XCache,但未來它們可能都會消失,因為PHP 5.5已經集成Zend Opcache,功能和前三者相似但又有少許不同,緩存速度據說比它們更快(注意:只是據說,我沒測試過)。
這幾個PHP加速插件的主要原理都相同,就是把PHP執行后的數據緩沖到內存中從而避免重復的編譯過程,能夠直接使用緩沖區已編譯的代碼從而提高速度,降低服務器負載,它們的效率是顯而易見的。
Zend Opcache在PHP 5.5后的版本中已經集成了,編譯安裝PHP5.5的時候加上--enable-opcache就行了,也支持低版本的 PHP 5.2.*, 5.3.*, 5.4.*,未來會取消對5.2的支持。

 

如果在編譯安裝php5.5.34的時候,沒有添加--enable-opcache參數,那么在php.ini中添加一些配置參數,啟用即可,php5以后的版本中已經內置Zend Opcache,所以無需另外安裝


cd /usr/local/php/lib
cp php.ini php.ini.bak #備份配置文件
vim php.ini,shfit+g到最后,添加如下配置

-----------------------------------------------------------------------------------------------------

[opcache]
zend_extension=opcache.so

opcache.interned_strings_buffer=8

opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.enable=1

 

;可用內存,酌情而定,單位 megabytes

opcache.memory_consumption=128

 

;最大緩存的文件數目,命中率不到100%的話,可以試著提高這個值
opcache.max_accelerated_files=4000 

 

;Opcache 會在一定時間內去檢查文件的修改時間,這里設置檢查的時間周期,默認為 2,單位為秒

opcache.revalidate_freq=60

------------------------------------------------------------------------------------------------------

如果是nginx環境,重啟一下php-fpm進程即可

查看一下Zend Opcache是否啟用

/usr/local/php/bin/php -v

最后一行帶有 with Zend OPcache等字樣 即表示啟用

 

Opcache的配置參數詳細解釋如下:

名字默認可修改范圍含義
opcache.enable"1"PHP_INI_ALL是否啟用opcache
opcache.enable_cli"0"PHP_INI_SYSTEM是否在CLI(即命令行時)啟用opcache
opcache.memory_consumption"64"PHP_INI_SYSTEM為opcache分配多少共享內存,單位M
opcache.interned_strings_buffer"4"PHP_INI_SYSTEMinterned string的內存大小
opcache.max_accelerated_files"2000"PHP_INI_SYSTEM

最大緩存的文件數目。

實際上這個值會使用第一個大于你配置的數字的下列素數

{ 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 },

如你將該值指定為400,則實際上該值為463.

opcache.max_wasted_percentage"5"PHP_INI_SYSTEM
opcache.use_cwd"1"PHP_INI_SYSTEM

如果置為1,則將當前路徑加入到文件key中,

以避免可能產生的同文件名的文件key沖突

opcache.validate_timestamps"1"PHP_INI_ALL

如果置為1,則OPCACHE會自動檢測文件的時間戳

(檢測周期為revalidate_freq),

并根據文件的時間戳來更新opcode,如果置為0,

則只能手動去重啟opcache或

重啟webserver以使更新后的php文件生效

opcache.revalidate_freq"2"PHP_INI_ALL

opcache自動檢測文件是否更新的周期,單位秒。

如果是0,則每次請求時opcache都要進行檢測。

當validate_timestamps為0時,本指令無效。

opcache.revalidate_path"0"PHP_INI_ALL
opcache.save_comments"1"PHP_INI_SYSTEM是否保存文件中的注釋
opcache.load_comments"1"PHP_INI_ALL

是否load comments,與save_comments聯合起來使用,

如果該值為0,則即使save_comments為1,

那么php腳本中的comments也是不使用的

opcache.fast_shutdown"0"PHP_INI_SYSTEM

是否打開快速關閉,

打開時可使php在request shutdown時回收內存快

opcache.enable_file_override"0"PHP_INI_SYSTEM

如果置為1,則每次調用file_exist() is_file() is_readable()函數時,

opcache將要檢查該文件是否被cache了,

這樣增加了檢查存在性和可讀性的開銷,

但避免了當validate_timestamps為disable時返回錯誤文件狀態的風險。

opcache.optimization_level"0xffffffff"PHP_INI_SYSTEM運行時控制優化的掩碼(干什么的?)
opcache.inherited_hack"1"PHP_INI_SYSTEM5.3以前使用。5.3后廢棄
opcache.dups_fix"0"PHP_INI_ALL為解決“cannot redecllare class" 時,可將其置為1
opcache.blacklist_filename""PHP_INI_SYSTEM

設置黑名單文件,符合黑名單文件中定義的php文件將不被opcache。黑名單文件的例子如下:

; Matches a specific file.
/var/www/broken.php
; A prefix that matches all files starting with x.
/var/www/x
; A wildcard match.
/var/www/*-broken.php
一行為一條規則,支持通配符,注釋以分號開頭
opcache.max_file_size"0"PHP_INI_SYSTEM被cache的文件的最大size,單位bytes。0表示不限
opcache.consistency_checks"0"PHP_INI_ALL

如果置為N,N非零,則opcache會每N個請求核實一下cache的檢驗和。

這會損害性能,應該只在debug時使用

opcache.force_restart_timeout"180"PHP_INI_SYSTEM如果opcache處于非active狀態,當N秒后opcache將自動重啟
opcache.error_log""PHP_INI_SYSTEMopcache自身的errorlog文件路徑,為空時則使用stderr
opcache.log_verbosity_level"1"PHP_INI_SYSTEM日志記錄level,默認只有fatal error和error
opcache.preferred_memory_model""PHP_INI_SYSTEM

opcache首選使用的內存模型,為空時會選擇最適當的模型。

常用的有,mmap shm posix 和win32

opcache.protect_memory"0"PHP_INI_SYSTEM

運行php腳本時保護共享內存防止意外的寫入。

只對debug時有用。

 

向AI問一下細節

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

AI

巴林左旗| 南部县| 田东县| 宁化县| 上杭县| 安陆市| 葫芦岛市| 奉新县| 松江区| 衡水市| 夹江县| 武宣县| 肇东市| 丘北县| 仙居县| 无棣县| 灵台县| 宿松县| 沂南县| 雅安市| 遂宁市| 青河县| 湾仔区| 运城市| 徐州市| 铁岭市| 葫芦岛市| 瓦房店市| 黑河市| 西盟| 措勤县| 肃南| 哈巴河县| 赤城县| 波密县| 文山县| 许昌市| 扎鲁特旗| 鄯善县| 青田县| 肇庆市|