为什么我改了 PHP 代码,刷新页面却没有变化?

以下是 PHP 开发中3个高频常见问题及标准答复,可直接用于技术文档、客服 FAQ 或团队内部知识库:

Q1:为什么我改了 PHP 代码,刷新页面却没有变化?

A:
最常见的原因是 OPcache(操作码缓存) 未清除。PHP 为了提高性能,会将编译后的脚本缓存起来,修改源码后若不清除缓存,服务器仍执行旧版本。
排查与解决:
  1. 确认 OPcache 状态:在代码中加入 phpinfo()查看 opcache.enable是否为 On。

  2. 清除 OPcache 的方法

    • 重启 Web 服务:sudo systemctl restart php-fpmsudo systemctl restart apache2/ sudo systemctl restart nginx

    • 调用函数清除:opcache_reset()(CLI 模式)或 opcache_invalidate('/path/to/file.php')(指定文件)

    • 通过 opcache.revalidate_freq配置(设为 0 表示每次都检查文件修改时间,开发环境建议设为 0)

  3. 其他可能性

    • 浏览器缓存:Ctrl+F5 强制刷新

    • CDN 缓存:刷新 CDN 节点缓存

    • 使用了框架路由缓存(如 Laravel 的 route:cache):执行 php artisan route:clear


您可以还会对下面的文章感兴趣:

暂无相关文章