小編給大家分享一下PHP中如何使用Opcache加速,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比靜海網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式靜海網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋靜海地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。介紹
PHP 5.5+版本以上的,可以使用PHP自帶的opcache開(kāi)啟性能加速(默認(rèn)是關(guān)閉的)。對(duì)于PHP 5.5以下版本的,需要使用APC加速
Opcache是一種通過(guò)將解析的PHP腳本預(yù)編譯的字節(jié)碼存放在共享內(nèi)存中來(lái)避免每次加載和解析PHP腳本的開(kāi)銷(xiāo),解析器可以直接從共享內(nèi)存讀取已經(jīng)緩存的字節(jié)碼,從而大大提高PHP的執(zhí)行效率。
配置
在PHP 5.5.0及后續(xù)版本中,PHP已經(jīng)將Opcache功能以拓展庫(kù)形式內(nèi)嵌在發(fā)布版本中了,默認(rèn)未開(kāi)啟Opcache加速,需要開(kāi)發(fā)人員在php.ini中添加或解注釋Opcache相關(guān)配置即可。對(duì)于之前的老版本,可以將Opcache作為PECL拓展庫(kù)進(jìn)行安裝和配置
php.ini:
[opcache] # 啟動(dòng)操作碼緩存 opcache.enable=1 #針對(duì)支持CLI版本PHP啟動(dòng)操作碼緩存 一般被用來(lái)測(cè)試和調(diào)試 opcache.enable_cli=1 # 共享內(nèi)存大小,單位為MB opcache.memory_consumption=128 #存儲(chǔ)臨時(shí)字符串緩存大小,單位為MB,PHP5.3.0以前會(huì)忽略此項(xiàng)配置 opcache.interned_strings_buffer=8 #緩存文件數(shù)較大限制,命中率不到100%,可以試著提高這個(gè)值 opcache.max_accelerated_files=4000 #一定時(shí)間內(nèi)檢查文件的修改時(shí)間, 這里設(shè)置檢查的時(shí)間周期, 默認(rèn)為 2, 單位為秒 opcache.revalidate_freq=60 #開(kāi)啟快速停止續(xù)發(fā)事件,依賴于Zend引擎的內(nèi)存管理模塊,一次釋放全部請(qǐng)求變量的內(nèi)存,而不是依次釋放內(nèi)存塊 opcache.fast_shutdown=1 #啟用檢查 PHP 腳本存在性和可讀性的功能,無(wú)論文件是否已經(jīng)被緩存,都會(huì)檢查操作碼緩存,可以提升性能。 但是如果禁用了 opcache.validate_timestamps選項(xiàng), 可能存在返回過(guò)時(shí)數(shù)據(jù)的風(fēng)險(xiǎn)。 opcache.enable_file_override=1
Opcache注意事項(xiàng)
1、使用Opcache就沒(méi)必要使用apc 和 Xcache加速;
因?yàn)镻HP 5.5.0及后續(xù)版本已經(jīng)內(nèi)嵌對(duì)Opcache的支持,所以PHP意識(shí)到其重要性,相對(duì)于Xcache等第三方的PHP優(yōu)化器來(lái)說(shuō),使用Opcache會(huì)是更好的選擇。另外,兩者同時(shí)存在的話,會(huì)使Opcache的緩存命中數(shù)大大降低,而且增加不必要的開(kāi)銷(xiāo)。
2、不建議在開(kāi)發(fā)過(guò)程中開(kāi)啟Opcache
開(kāi)啟了Opcache之后,開(kāi)發(fā)人員修改的內(nèi)容不會(huì)立即顯示和生效,因?yàn)槭艿給pcache.revalidate_freq=60的影響,所以建議在開(kāi)發(fā)并測(cè)試之后,測(cè)試性能時(shí)再行打開(kāi)測(cè)試,當(dāng)然,生產(chǎn)環(huán)境一直都要開(kāi)著Opcache。
3、不建議將Opcache指標(biāo)設(shè)置太大
Opcache各項(xiàng)指標(biāo)配置大小或是否開(kāi)啟,需要結(jié)合項(xiàng)目實(shí)際情況需求及Opcache官方建議的配置,項(xiàng)目的實(shí)際情況分析,可結(jié)合上面第四部分的可視化緩存信息分析調(diào)整。
4、不建議長(zhǎng)期使用老版本的Opcache
建議及時(shí)關(guān)注Opcache官網(wǎng)動(dòng)態(tài),實(shí)時(shí)了解其的bugs修復(fù),功能優(yōu)化及新增功能,以便更好的將其應(yīng)用在自己的項(xiàng)目中。
5、不建議在生產(chǎn)環(huán)境中,將上面介紹的開(kāi)源項(xiàng)目放入Web服務(wù)根目錄
原因很簡(jiǎn)單,因?yàn)檫@個(gè)開(kāi)源項(xiàng)目并未做訪問(wèn)的限制和安全處理,也就是說(shuō)凡是可以訪問(wèn)外網(wǎng)的用戶,只要知道了訪問(wèn)地址就可以直接訪問(wèn),所以不安全。一般下,這個(gè)開(kāi)源工具只是幫助可視化分析PHP的性能,通常在開(kāi)發(fā)調(diào)試階段使用。如果就是想在生產(chǎn)環(huán)境開(kāi)啟使用,那么就必須做好安全限制工作。
以上是“PHP中如何使用Opcache加速”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!