不知从何时开始,apt-get安装的php的opcache组件默认禁用了。也许是Nextcloud的问题,无论如何,你都会在管理页面看到这样的警告(红色大括号处):
正确地配置OPcache有利于提升Nextcloud的性能。这个问题要通过修改php.ini来解决。
使用apt-get方式安装的LAMP环境的php.ini一般位于
/etc/php/7.0/apache2/php.ini
。
编辑php.ini:
vim /etc/php/7.0/apache2/php.ini
找到
;opcache.enable=0
,大约在1767行,可以在一般模式下输入
/opcache.enable
搜索到:
修改:继续往下翻,分别找到以下几行,删除前面的
;
,然后依次修改后面的数字:
opcache.enable=1 opcache.enable_cli=1 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 opcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=1
如果你实在是懒得改,可以直接将上面的内容直接粘贴进去。
修改后如下(行号已与php.ini中的对应):
[opcache] ; Determines if Zend OPCache is enabled opcache.enable=1 ; Determines if Zend OPCache is enabled for the CLI version of PHP opcache.enable_cli=1 ; The OPcache shared memory storage size. opcache.memory_consumption=128 ; The amount of memory for interned strings in Mbytes. opcache.interned_strings_buffer=8 ; The maximum number of keys (scripts) in the OPcache hash table. ; Only numbers between 200 and 1000000 are allowed. opcache.max_accelerated_files=10000 ; The maximum percentage of "wasted" memory until a restart is scheduled. ;opcache.max_wasted_percentage=5 ; When this directive is enabled, the OPcache appends the current working ; directory to the script key, thus eliminating possible collisions between ; files with the same name (basename). Disabling the directive improves ; performance, but may break existing applications. ;opcache.use_cwd=1 ; When disabled, you must reset the OPcache manually or restart the ; webserver for changes to the filesystem to take effect. ;opcache.validate_timestamps=1 ; How often (in seconds) to check file timestamps for changes to the shared ; memory storage allocation. ("1" means validate once per second, but only ; once per request. "0" means always validate) opcache.revalidate_freq=1 ; Enables or disables file search in include_path optimization ;opcache.revalidate_path=0 ; If disabled, all PHPDoc comments are dropped from the code to reduce the ; size of the optimized code. opcache.save_comments=1
修改完成后,ESC键退出编辑模式,
:wq
保存退出。
最后重启Apache:
service apache2 restart
再次刷新页面,有关OPcache的警告消失(测试环境,请无视其它警告):