聊聊zend opcache的配置项

opcache.revalidate_freq

这个选项用于设置缓存的过期时间(单位是秒),当这个时间达到后,opcache会检查你的代码是否改变,如果改变了PHP会重新编译它,生成新的opcode,并且更新缓存。

值为“0”表示每次请求都会检查你的PHP代码是否更新(这意味着会增加很多次stat系统调用,译注:stat系统调用是读取文件的状态,这里主要是获取最近修改时间,这个系统调用会发生磁盘I/O,所以必然会消耗一些CPU时间,当然系统调用本身也会消耗一些CPU时间)。可以在开发环境中把它设置为0。

opcache.validate_timestamps

当这个选项被启用(设置为1),PHP会在opcache.revalidate_freq设置的时间到达后检测文件的时间戳(timestamp)。

如果这个选项被禁用(设置为0),opcache.revalidate_freq会被忽略,PHP文件永远不会被检查。这意味着如果你修改了你的代码,然后你把它更新到服务器上,再在浏览器上请求更新的代码对应的功能,你会看不到更新的效果,你必须得重新加载你的PHP(使用kill -SIGUSR2强制重新加载)。

opcache.max_accelerated_files

这个选项用于控制内存中最多可以缓存多少个PHP文件。这个选项必须得设置得足够大,大于你的项目中的所有PHP文件的总和。

你可以运行“find . -type f -print | grep php | wc -l”这个命令来快速计算你的代码库中的PHP文件数。

opcache.memory_consumption

这个选项的默认值为64MB,可以通过调用opcachegetstatus()来获取opcache使用的内存的总量,如果这个值很大,你可以把这个选项设置得更大一些。

opcache.interned_strings_buffer

PHP使用了一种叫做字符串驻留(string interning)的技术来改善性能。例如,如果你在代码中使用了1000次字符串“foobar”,在PHP内部只会在第一使用这个字符串的时候分配一个不可变的内存区域来存储这个字符串,其他的999次使用都会直接指向这个内存区域。这个选项则会把这个特性提升一个层次——默认情况下这个不可变的内存区域只会存在于单个php-fpm的进程中,如果设置了这个选项,那么它将会在所有的php-fpm进程中共享。在比较大的应用中,这可以非常有效地节约内存,提高应用的性能。

这个选项的值是以兆字节(megabytes)作为单位,如果把它设置为16,则表示16MB,默认是4MB。

opcache.fast_shutdown

它的作用是在单个请求结束时提供一种更快速的机制来调用代码中的析构器,从而加快PHP的响应速度和PHP进程资源的回收速度,这样应用程序可以更快速地响应下一个请求。把它设置为1就可以使用了。

相关推荐:
幸运破解器LuckyPatcher破解大神ChelpuS的作品,需要root权限可以破解软件或游戏,同时还可以去广告,像是做的一款合集或通用破解器,不过不保证一定会破解,因此叫幸运破解器,也叫幸运补丁。 注意:Lucky …
1.错误ID:10005,错误信息:DCOM 遇到错误“无法启动服务,原因可能是它被禁用或与它相关联的设备没有启动。 ”,试图以参数“”启动服务 SENS 以运行服务器: {D3938AB0-5B9D-11D1-8DD2-00AA004ABD5E} 2.错误ID: …
升级了macOS Sierra (10.12)版本后在“安全性与隐私”中不再有“任何来源”选项,如下图: 这可麻烦了,有些第三方的应用用不了了,若我们想要装却要允许任何来源的朋友就不知该怎么办了。 其实只要用我们万能 …
urllib提供了一系列用于操作URL的功能,而urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应。 基本的网络请求示例 import urllib.request #请求百度 …
webview组件的接口函数searchBoxJavaBridge_存在远程代码执行漏洞,远程攻击者利用此漏洞能实现本地java和js的交互,可以对Android移动终端进行网页挂马从而控制受影响设备。 调用removeJavascriptInterfac …
拿起手机扫一扫即可带走我!