PHP7如何開啟opcache擴充套件

2021-10-04 15:06:44 字數 2664 閱讀 3539

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

PHP7開啟opcache打造強悍效能

鳥哥在部落格中說,提高php 7效能的幾個tips,第一條就是開啟opcache 記得啟用zend opcache,因為php7即使不啟用opcache速度也比php 5.6啟用了opcache快,所以之前測試時期就發生了有人一直沒有啟用opcache的事情 那麼什麼是opcache呢?opcach...

PHP7開啟opcache打造強悍效能

鳥哥在部落格中說,提高php 7效能的幾個tips,第一條就是開啟opcache 記得啟用zend opcache,因為php7即使不啟用opcache速度也比php 5.6啟用了opcache快,所以之前測試時期就發生了有人一直沒有啟用opcache的事情 那麼什麼是opcache呢?opcach...

PHP開啟opcache快取

php.ini開啟 opcache zend extension php opcache.dll 開啟opcache opcache.enable 1 是否在cli 即命令行時 啟用opcache opcache.enable cli 1 共享記憶體的大下 可以根據專案大小和伺服器配置自行調整 op...