如何啟用OPCache提高PHP程序性能-創(chuàng)新互聯(lián)

如何啟用OPCache提高PHP程序性能?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)建站于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元崇禮做網(wǎng)站,已為上家服務(wù),為崇禮各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

(1)在命令行下可通過如下命令檢查是否已經(jīng)安裝了OPcache:

php -m | grep "OPcache"

有結(jié)果則代表已安裝了。

(2)安裝OPCache模塊

如果你的php環(huán)境沒有安裝該模塊,也可以通過如下方法進行安裝:

依次執(zhí)行下面的命令

wget http://pecl.php.net/get/zendopcache-7.0.2.tgz
tar xzf zendopcache-7.0.2.tgz
cd zendopcache-7.0.2
phpize

(如果不知道 phpize 在哪里的話可以通過 find 命令進行查找,也可以找到PHP路徑,通常是在一起的,我的就在/alidata/server/php/bin/phpize,下面這行也要按你的php.ini路徑自行修改)

./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

如果顯示Installing shared extensions: /alidata/server/php/lib/php/extensions/no-debug-zts-20100525/ 則表示安裝成功了。

(3)開啟OPCache模塊支持

找到php.ini文件,在文件末尾加上如下代碼(如果已經(jīng)存在[opcache]這個標(biāo)簽了,則只需在這個標(biāo)簽下做相應(yīng)的添加或者修改):

[opcache]
; dll地址
zend_extension=php_opcache.dll
; 開關(guān)打開
opcache.enable=1
; 開啟CLI
opcache.enable_cli=1
; 可用內(nèi)存, 酌情而定, 單位為:Mb
opcache.memory_consumption=128
; Zend Optimizer + 暫存池中字符串的占內(nèi)存總量.(單位:MB)
opcache.interned_strings_buffer=8
; 對多緩存文件限制, 命中率不到 100% 的話, 可以試著提高這個值
opcache.max_accelerated_files=10000
; Opcache 會在一定時間內(nèi)去檢查文件的修改時間, 這里設(shè)置檢查的時間周期, 默認(rèn)為 2, 定位為秒
opcache.revalidate_freq=1
; 打開快速關(guān)閉, 打開這個在PHP Request Shutdown的時候回收內(nèi)存的速度會提高
opcache.fast_shutdown=1
; 不保存文件/函數(shù)的注釋
opcache.save_comments=0

添加完畢重啟apache或者nginx服務(wù)器,打開phpinfo頁面看看是否已經(jīng)生效,如果看到如下信息則代表已經(jīng)配置成功了。

如何啟用OPCache提高PHP程序性能

(4)功能測試以及注意事項

在phpinfo()信息中, 目前來看有兩條信息猶為重要:

  • Cache hits     (高級緩存命中)

  • Cache misses  (高級緩存未命中)

通過這兩條信息中即可觀察緩存運行情況。

我們做個測試,驗證一下什么是opcache,新建包含如下代碼的一個文件:

echo 'hello opcache';

這是一段非常簡單的php代碼,請保存為demo.php文件然后訪問,隨意刷新,Cache hits數(shù)值會不停地增加,說明起作用了。

然后你修改代碼為:

echo 'hello codetc.com';

再刷新demo.php,應(yīng)該可以看到效果,打印出來的值仍然是 hello opcache,即源碼被緩存了,它不再解析demo.php文件。

那多少秒之后其結(jié)果才會變?yōu)?hello phpernote.com 呢?這里可通過設(shè)置:

opcache.force_restart_timeout=180

的時間來控制更新速度,這里的單位是秒,即180秒后重新編譯一次源php編碼。

這就類似于web項目中的靜態(tài)文件緩存一下,比如我們加載一個網(wǎng)頁,瀏覽器會自動幫我們把jpg,css緩存起來,唯獨php沒有緩存,每次均需要open文件,解析代碼, 執(zhí)行代碼這一過程,而opcache即可解決這個問題,代碼會被高速緩存起來,提升訪問速度。

所以當(dāng)改變PHP文件代碼后,并不能立即看到效果,這視opcache.revalidate_freq的更新周期而定,所以建議在項目更新執(zhí)行自動化腳本利用opcache_reset()函數(shù)自動重置opcache。OPcache總共提供了如下幾個函數(shù):

  • opcache_compile_file — 無需運行,即可編譯并緩存 PHP 腳本

  • opcache_get_configuration — 獲取緩存的配置信息

  • opcache_get_status — 獲取緩存的狀態(tài)信息

  • opcache_invalidate — 廢除腳本緩存

  • opcache_reset — 重置字節(jié)碼緩存的內(nèi)容

php是什么語言

php,一個嵌套的縮寫名稱,是英文超級文本預(yù)處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運用。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。

當(dāng)前文章:如何啟用OPCache提高PHP程序性能-創(chuàng)新互聯(lián)
URL分享:http://www.muchs.cn/article36/cdecsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站收錄、網(wǎng)站設(shè)計、網(wǎng)站維護關(guān)鍵詞優(yōu)化、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)