溫馨提示×

溫馨提示×

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

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

php7 opcache開啟不了如何解決

發(fā)布時間:2022-11-24 10:02:57 來源:億速云 閱讀:113 作者:iii 欄目:編程語言

今天小編給大家分享一下php7 opcache開啟不了如何解決的相關知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

php7開啟opcache的方法:1、在CLI環(huán)境下,通過設置“opcache.enable_cli=1”啟用opcache;2、通過“opcache.memory_consumption=128”設置opcache共享內(nèi)存存儲大小;3、開啟Opcache File Cache,把opcode緩存緩存到外部文件中;4、重啟php-fpm即可。

PHP7開啟opcache擴展的方法:

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

PHP7默認已經(jīng)安裝了opcahe拓展,只需要開啟即可

vim /usr/local/php/etc/php.ini
zend_extension='opcache.so'

配置介紹

CLI環(huán)境下,PHP啟用OPcache

opcache.enable_cli=1

OPcache共享內(nèi)存存儲大小,單位MB

opcache.memory_consumption=128

PHP使用了一種叫做字符串駐留(string interning)的技術來改善性能。例如,如果你在代碼中使用了1000次字符串“foobar”,在PHP內(nèi)部只會在第一使用這個字符串的時候分配一個不可變的內(nèi)存區(qū)域來存儲這個字符串,其他的999次使用都會直接指向這個內(nèi)存區(qū)域。這個選項則會把這個特性提升一個層次——默認情況下這個不可變的內(nèi)存區(qū)域只會存在于單個php-fpm的進程中,如果設置了這個選項,那么它將會在所有的php-fpm進程中共享。在比較大的應用中,這可以非常有效地節(jié)約內(nèi)存,提高應用的性能。

這個選項的值是以兆字節(jié)(megabytes)作為單位,如果把它設置為16,則表示16MB,默認是4MB

opcache.interned_strings_buffer=8

這個選項用于控制內(nèi)存中最多可以緩存多少個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

從字面上理解就是“允許更快速關閉”。它的作用是在單個請求結束時提供一種更快速的機制來調(diào)用代碼中的析構器,從而加快PHP的響應速度和PHP進程資源的回收速度,這樣應用程序可以更快速地響應下一個請求。把它設置為1就可以使用這個機制了。

opcache.fast_shutdown=1

如果啟用(設置為1),OPcache會在opcache.revalidate_freq設置的秒數(shù)去檢測文件的時間戳(timestamp)檢查腳本是否更新。

如果這個選項被禁用(設置為0),opcache.revalidate_freq會被忽略,PHP文件永遠不會被檢查。這意味著如果你修改了你的代碼,然后你把它更新到服務器上,再在瀏覽器上請求更新的代碼對應的功能,你會看不到更新的效果

強烈建議你在生產(chǎn)環(huán)境中設置為0,更新代碼后,再平滑重啟PHP和web服務器。

opcache.validate_timestamps=0

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

這樣PHP就會在/tmp目錄下Cache一些Opcode的二進制導出文件, 可以跨PHP生命周期存在.

opcache.file_cache=/tmp

開發(fā)模式下推薦,直接禁用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

穩(wěn)定項目推薦,性能最好

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開啟不了如何解決”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI