PHP面试题更新 2026-08-05

请解释 PHP 的 OPcache 扩展的作用,并阐述在项目中启用和配置 OPcache 的步骤及注意事项。

性能优化系统设计技术原理PHP

考察说明

考察对 PHP OPcache 工作原理的理解以及实际配置能力。

回答思路

  1. 【回答框架 1】OPcache 是 PHP 官方提供的字节码缓存扩展,通过将 PHP 脚本编译后的 opcode 缓存到共享内存中,避免每次请求重复编译,从而显著提升性能。
  2. 【回答框架 2】启用步骤:在 php.ini 中设置 zend_extension=opcache,并配置 opcache.enable=1;重启 PHP-FPM 或 Web 服务器使配置生效。
  3. 【回答框架 3】关键配置项:opcache.memory_consumption(缓存内存大小,默认 128MB)、opcache.max_accelerated_files(最大缓存脚本数)、opcache.validate_timestamps 和 opcache.revalidate_freq(控制文件变更检测频率)。
  4. 【回答框架 4】注意事项:部署代码后需手动清除缓存(如调用 opcache_reset() 或重启服务),避免旧代码残留;需监控缓存命中率,合理调整内存和文件数上限;禁止共享临时目录,避免缓存脏读。
  5. 【关键点 1】OPcache 缓存 opcode,减少重复编译开销。
  6. 【关键点 2】启用需在 php.ini 中添加扩展并开启 enable。
  7. 【关键点 3】配置项包括内存大小、缓存文件数、时间戳验证频率。
  8. 【关键点 4】代码更新后需重置缓存或重启服务。
  9. 【关键点 5】监控命中率以优化配置。
  10. 【易错点 1】忽视 validate_timestamps 设置可能导致生产中缓存过期检查开销。
  11. 【易错点 2】内存设置过小会导致缓存溢出,降低命中率。
  12. 【易错点 3】部署后未重置缓存导致运行旧代码。