PHP7添加opcache.so模塊

啓動php報錯以下:php

# /usr/local/php7/sbin/php-fpm
[09-Apr-2019 16:21:13] NOTICE: PHP message: PHP Warning:  PHP Startup: Invalid library (appears to be a Zend Extension, try loading using 
zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/opcache.so from php.ini) in Unknown on line 0

書寫方法:web

zend_extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/opcache.so"

從新啓動並查看模塊:瀏覽器

# php -m
[PHP Modules]
……

[Zend Modules]
Zend OPcache 

配置參數:緩存

zend_extension=opcache.so
[opcache]
;開啓opcache
opcache.enable=1  

;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