首頁 > 後端開發 > PHP7 > 主體

php7 opcache開啟不了怎麼辦

藏色散人
發布: 2023-02-18 10:38:01
原創
1714 人瀏覽過

php7開啟opcache的方法:1、在CLI環境下,透過設定「opcache.enable_cli=1」啟用opcache;2、透過「opcache.memory_consumption=128」設定opcache共享記憶體儲存大小;3、開啟Opcache File Cache,把opcode快取快取到外部檔案;4、重啟php-fpm即可。

php7 opcache開啟不了怎麼辦

本教學操作環境:Windows7系統、PHP7版、Dell G3電腦。

php7 opcache開啟不了怎麼辦?

PHP7開啟opcache擴充的方法:

opcache:說白了就是將PHP原始碼進行緩存,而不再需要編譯二進位。

PHP7預設已經安裝了opcahe拓展,只需要開啟即可

vim /usr/local/php/etc/php.ini
zend_extension='opcache.so'
登入後複製

設定介紹

CLI環境下,PHP啟用OPcache

opcache.enable_cli=1
登入後複製

;OPcache共享記憶體儲存大小,單位MB

opcache.memory_consumption=128
登入後複製

;PHP使用了一種稱為字串駐留(string interning)的技術來改善效能。例如,如果你在程式碼中使用了1000次字串“foobar”,在PHP內部只會在第一個使用這個字串的時候分配一個不可變的記憶體區域來儲存這個字串,其他的999次使用都會直接指向這個記憶體區域。這個選項則會把這個特性提升一個層次-預設這個不可變的記憶體區域只會存在於單一php-fpm的進程中,如果設定了這個選項,那麼它將會在所有的php-fpm進程中共享。在比較大的應用中,這可以非常有效地節約內存,並提高應用的效能。

這個選項的值是以兆位元組(megabytes)作為單位,如果把它設為16,則表示16MB,預設是4MB

opcache.interned_strings_buffer=8
登入後複製

;這個選項用於控制記憶體中最多可以快取多少個PHP檔案。這個選項必須得設定得夠大,大於你的專案中的所有PHP檔案的總和。

設定值取值範圍最小值是 200,最大值在 PHP 5.5.6 之前是 100000,PHP 5.5.6 之後是 1000000。也就是說在200到1000000之間。

opcache.max_accelerated_files=4000
登入後複製

;設定快取的過期時間(單位是秒),為0的話每次都要檢查

opcache.revalidate_freq=60
登入後複製

;從字面上理解就是「允許更快速關閉」。它的作用是在單一請求結束時提供一種更快速的機制來呼叫程式碼中的析構器,從而加快PHP的回應速度和PHP進程資源的回收速度,這樣應用程式可以更快速地回應下一個請求。把它設定為1就可以使用這個機制了。

opcache.fast_shutdown=1
登入後複製

;如果啟用(設定為1),OPcache會在opcache.revalidate_freq設定的秒數去偵測檔案的時間戳記(timestamp)檢查腳本是否更新。

如果這個選項被停用(設定為0),opcache.revalidate_freq會被忽略,PHP檔案永遠不會被檢查。這意味著如果你修改了你的程式碼,然後你把它更新到伺服器上,再在瀏覽器上請求更新的程式碼對應的功能,你會看不到更新的效果

強烈建議你在生產環境中設定為0,更新程式碼後,再平滑重啟PHP和web伺服器。

opcache.validate_timestamps=0
登入後複製

;開啟Opcache File Cache(實驗性), 透過開啟這個, 我們可以讓Opcache把opcode快取快取到外部文件中, 對於一些腳本, 會有很明顯的效能提升.

這樣PHP就會在/tmp目錄下Cache一些Opcode的二進位匯出檔, 可以跨PHP生命週期存在.

opcache.file_cache=/tmp
登入後複製

開發模式下推薦,直接停用opcache擴充更好

opcache.enable=1
opcache.enable_cli=1
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.max_accelerated_files=3000
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
登入後複製

多台機器叢集模式或程式碼更新頻繁時推薦,可以兼顧效能,方便程式碼更新

opcache.enable=1
opcache.enable_cli=1
opcache.revalidate_freq=300
opcache.validate_timestamps=1
opcache.max_accelerated_files=7963
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
登入後複製

穩定專案推薦,效能最好

opcache.enable=1
opcache.enable_cli=1
opcache.revalidate_freq=0
opcache.validate_timestamps=0
opcache.max_accelerated_files=7963
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
登入後複製

清除快取方式重新啟動php-fpm

/etc/init.d/php-fpm restart
登入後複製

推薦學習:《PHP影片教學

以上是php7 opcache開啟不了怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板