📅  最后修改于: 2023-12-03 15:38:07.225000             🧑  作者: Mango
OPCache 是 PHP 自带的一个 opcode 缓存器,是 PHP 提高性能的重要手段之一。有了 OPCache,我们可以将 PHP 的编译后的文件缓存起来,以减少每次请求时编译的开销,提高程序的运行效率。
在 PHP 5.5 及以上版本中,OPCache 已经被集成进 PHP 中,因此,我们只需要在 php.ini 中进行配置即可。在 php.ini 文件中找到以下配置项,取消注释即可:
zend_extension=opcache.so
也可以在命令行中输入以下命令,检查OPCache是否已经安装成功:
$ php -v
PHP 5.5.9-1ubuntu4.29 (cli) … with Zend OPcache v7.0.3…, Copyright (c)
在安装成功后,我们需要对 OPCache 进行参数调整,让它更加适合我们的应用程序。以下是一些必须设置的参数:
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
此参数用于启用 OPCache,在启用 OPCache 前,默认为 0,必须设置为 1 才能启用。
此参数用于指定 OPCache 所使用的内存大小,建议为 PHP 分配1/4到1/2的内存。
用于指定 OPCache 内部的字符串缓冲区最大值。
此参数用于指定 OPCache 缓存的最大脚本数。
此参数用于指定 OPCache 间隔多长时间重新验证缓存的脚本文件(单位是秒)。默认值为 60。
此参数用于在关闭时清除 OPCache 缓存,建议启用。
设置 OPCache 参数后,我们应该对 PHP 进行测试,验证 OPCache 是否按照预期工作。可以在命令行中使用以下命令:
php -i | grep opcache
输出结果应该会像下面一样:
opcache.enable => On => On
opcache.memory_consumption => 128 => 128
opcache.interned_strings_buffer => 8 => 8
opcache.max_accelerated_files => 4000 => 4000
opcache.revalidate_freq => 60 => 60
opcache.fast_shutdown => 1 => 1
opcache.enable_cli => Off => Off (默认选项)
在正确设置 OPCache 参数后,我们的 PHP 应用程序将会得到显著的性能提升。尤其是对于大型,高并发的 PHP 应用程序而言,OPCache 的使用更是必不可少。在实际应用中,可以通过监控 PHP 的运行状态,并针对性地对参数进行调整来提高程序运行效率。
//OPCache 配置参数
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
// 检查 OPcache 是否已经成功安装
php -v
PHP 5.5.9-1ubuntu4.29 (cli) … with Zend OPcache v7.0.3…,
//测试 OPcache 是否按照预期工作
php -i | grep opcache