📜  如何使用PHP OPCache?(1)

📅  最后修改于: 2023-12-03 15:38:07.225000             🧑  作者: Mango

如何使用 PHP OPCache?

简介

OPCache 是 PHP 自带的一个 opcode 缓存器,是 PHP 提高性能的重要手段之一。有了 OPCache,我们可以将 PHP 的编译后的文件缓存起来,以减少每次请求时编译的开销,提高程序的运行效率。

安装 OPCache

在 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 进行参数调整,让它更加适合我们的应用程序。以下是一些必须设置的参数:

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.enable

此参数用于启用 OPCache,在启用 OPCache 前,默认为 0,必须设置为 1 才能启用。

opcache.memory_consumption

此参数用于指定 OPCache 所使用的内存大小,建议为 PHP 分配1/4到1/2的内存。

opcache.interned_strings_buffer

用于指定 OPCache 内部的字符串缓冲区最大值。

opcache.max_accelerated_files

此参数用于指定 OPCache 缓存的最大脚本数。

opcache.revalidate_freq

此参数用于指定 OPCache 间隔多长时间重新验证缓存的脚本文件(单位是秒)。默认值为 60。

opcache.fast_shutdown

此参数用于在关闭时清除 OPCache 缓存,建议启用。

测试 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