OpCache 配置优化
PHP 7+ 默认自带 OpCache,将脚本编译为字节码缓存,避免重复编译。
[opcache]
opcache.enable=1
opcache.memory_consumption=256 # 缓存内存(MB)
opcache.interned_strings_buffer=16 # 字符串缓存
opcache.max_accelerated_files=10000 # 最大缓存文件数
opcache.revalidate_freq=60 # 检查文件更新间隔(秒)
opcache.fast_shutdown=1生产环境建议关闭 revalidate_freq 设为 0,部署时手动清缓存。
清缓存代码
if (function_exists('opcache_reset')) {
opcache_reset();
}预加载(PHP 7.4+)
在 php.ini 中指定文件,让 PHP-FPM 启动时预加载到共享内存。
opcache.preload = /path/to/preload.phppreload.php 包含项目常用类:
require __DIR__ . '/vendor/autoload.php';代码层面的优化
- 使用单引号:
'string'比"string"快 - 循环提前 break:
foreach ($items as $item) {
if ($item->id === $target) { $found = $item; break; }
} - 批量数据库操作:使用
insert批量插入代替单条循环 - 减少函数嵌套:
isset>array_key_exists
OpCache 配合良好的代码习惯,能让 PHP 应用性能提升 50% 以上。
