用 OPCache 才能体验到 PHP8 的强大
PHP
2024-11-05 19:17
122
0
[Zend Opcache]
zend_extension="opcache.so" ;引入扩展,PHP8 中默认已经装好了
opcache.memory_consumption=256 ;OPCache 共享内存存储大小,单位 MB
;PHP 使用了一种叫做字符串驻留(string interning)的技术来改善性能。例如,如果你在代码中使用了 1000 次字符串“foobar”,在 PHP 内部只会在第一使用这个字符串的时候分配一个不可变的内存区域来存储这个字符串,其他的 999 次使用都会直接指向这个内存区域。这个选项则会把这个特性提升一个层次——默认情况下这个不可变的内存区域只会存在于单个 php-fpm 的进程中,如果设置了这个选项,那么它将会在所有的 php-fpm 进程中共享。在比较大的应用中,这可以非常有效地节约内存,提高应用的性能。
;这个 interned_strings_buffer 选项的值是以兆字节(megabytes)作为单位,如果把它设置为 16,则表示 16MB,默认是 4MB
opcache.interned_strings_buffer=16
;这个 max_accelerated_files 选项用于控制内存中最多可以缓存多少个 PHP 文件。这个选项必须得设置得足够大,大于你的项目中的所有 PHP 文件的总和。
;设置值取值范围最小值是 200,最大值在 PHP 5.5.6 之前是 100000,PHP 5.5.6 及之后是 1000000。也就是说在 200 到 1000000 之间。
opcache.max_accelerated_files=100000
;设置缓存的过期时间(单位是秒),为 0 的话每次都要检查
opcache.revalidate_freq=60
;revalidate_freq 从字面上理解就是“允许更快速关闭”。它的作用是在单个请求结束时提供一种更快速的机制来调用代码中的析构器,从而加快 PHP 的响应速度和 PHP 进程资源的回收速度,这样应用程序可以更快速地响应下一个请求。把它设置为 1 就可以使用这个机制了。
opcache.fast_shutdown=1
;如果启用 fast_shutdown(设置为 1),OPcache 会在 opcache.revalidate_freq 设置的秒数去检测文件的时间戳(timestamp)检查脚本是否更新。
;如果这个选项被禁用(设置为 0),opcache.revalidate_freq 会被忽略,PHP 文件永远不会被检查。这意味着如果你修改了你的代码,然后你把它更新到服务器上,再在浏览器上请求更新的代码对应的功能,你会看不到更新的效果
;强烈建议你在生产环境中设置为 0,更新代码后,再平滑重启 PHP 和 web 服务器。
opcache.enable_cli=1 ;CLI 环境下,PHP 启用 OPcache
opcache.file_cache=/tmp
;开启 Opcache File Cache(实验性),通过开启这个,我们可以让 Opcache 把 opcode 缓存缓存到外部文件中,对于一些脚本,会有很明显的性能提升.
;这样 PHP 就会在/tmp 目录下 Cache 一些 Opcode 的二进制导出文件,可以跨 PHP 生命周期存在.
opcache.jit=1205 ;这个比较负载可以参考【OPCache 使用 PHP 8 新特性之 JIT】一文
opcache.jit_buffer_size=64M ;OPCache JIT 的缓存大小
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/cpublic/article/details/139041476