You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确认PrestaShop网站的OpCache已缓存PHP脚本?

关于PrestaShop中OpCache的验证与性能对比方案

一、查看已缓存的PHP文件及缓存位置

1. 获取缓存文件列表

用PHP内置的opcache_get_status()函数可直接获取所有被缓存的脚本信息。创建一个临时PHP文件(比如opcache_check.php),写入以下代码:

<?php
$cacheStatus = opcache_get_status();
echo "<pre>";
print_r($cacheStatus['scripts']);
echo "</pre>";
?>

访问该文件就能看到所有被OpCache缓存的PHP文件路径、缓存键、占用空间等详细数据。

2. 确认缓存存储位置

OpCache默认将缓存存在内存中,不会写入磁盘(除非配置了opcache.file_cache参数)。通过以下代码可查看该配置项:

<?php
$opcacheConfig = opcache_get_configuration();
echo $opcacheConfig['directives']['opcache.file_cache'];
?>

如果返回空值,说明缓存仅在内存中,重启PHP服务后缓存会被清空。

二、对比OpCache开启/关闭的网站影响

1. 性能压测对比

  • 使用ab(Apache Bench)或wrk这类压测工具,分别在OpCache开启、关闭状态下测试网站的核心指标:
    示例ab命令:
    ab -n 1000 -c 10 https://你的PrestaShop域名/
    
    重点对比两次测试的Requests per second(每秒请求数)、Time per request(单请求耗时),OpCache开启后性能会有明显提升。
  • 浏览器端测速:用开发者工具的Network面板,对比两种状态下的页面首屏加载时间、PHP接口响应耗时。

2. 页面加载细节验证

  • OpCache开启时,首次访问页面会编译脚本并缓存,二次及后续访问的响应时间会大幅缩短;关闭OpCache则每次访问都要重新编译脚本,多次访问的耗时波动小但整体偏慢。
  • 若开启了PHP编译日志,关闭OpCache时每次请求都会生成编译相关日志,开启后仅首次请求会有。

三、额外验证技巧

  • 修改一个PHP脚本(比如主题文件),若opcache.validate_timestamps为On,等待opcache.revalidate_freq配置的时间后刷新页面,能看到修改内容;若为Off,需手动执行opcache_reset()或重启PHP才能更新缓存。
  • 查看opcache_get_status()返回结果中的hits(缓存命中数)和misses(缓存未命中数),请求页面后hits增长则说明缓存生效。

内容的提问来源于stack exchange,提问作者ailauli69

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 00:15:43