«

PHP开启OPcache提升页面速度完整配置

时间:2026-11-14 07:12     作者:emer     分类: PHP


前言

PHP 每次请求都要重新编译脚本,开启 OPcache 后会把编译结果缓存到内存,重复请求直接执行缓存,页面响应明显变快,是最廉价有效的 PHP 优化手段。很多面板默认没开或参数保守,本文讲解检查扩展、修改 php.ini 参数、重启 PHP-FPM、验证生效的完整步骤,适配 PHP7/8。

操作步骤

1. 检查 OPcache 是否已安装

php -m | grep opcache

有 opcache 输出即已安装;没有则先安装:

# Ubuntu/Debian
sudo apt install -y php-opcache
# 或 pecl
sudo pecl install opcache

2. 找到 php.ini 路径

php --ini

3. 修改 OPcache 参数

opcache.enable = 1
opcache.enable_cli = 0
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 60
opcache.validate_timestamps = 1
opcache.save_comments = 1

4. 重启 PHP-FPM

systemctl restart php-fpm

5. 验证生效

php -r 'var_dump(opcache_get_status()["opcache_enabled"]);'

或新建 info.php:

<?php phpinfo();

浏览器打开看 OPcache 段是否开启。

6. 部署更新代码后清缓存

代码更新但页面还是旧内容时:

systemctl reload php-fpm

常见坑

  1. CLI 和 FPM 使用不同 php.ini,命令行开了网站没开。
  2. validate_timestamps 设为 0,更新代码后 OPcache 不刷新,必须手动重启。
  3. memory_consumption 太小,大量站点缓存被淘汰,命中率下降。
  4. 改完没重启 php-fpm,参数不生效。
  5. save_comments 关闭会影响注解框架(如 ThinkPHP、Laravel)。
  6. 内存不足时盲目调大 memory_consumption,需结合服务器配置。
  7. 每次发版都 reload,高峰期重载会有短暂停顿。

总结

OPcache 是 PHP 提速标配:确认扩展 → php.ini 打开并合理设参 → 重启 FPM → phpinfo 验证。生产建议 validate_timestamps=1 配合固定缓存时间,发版时 reload 清缓存。监控命中率,低于 90% 再调大内存和文件数。

遇到问题加QQ23979811 协助处理

标签: PHP OPcache 性能 php.ini