群合ネットワーク · 企業向け技術・デザインサービス
電話相談130 6699 2285WeChatのIDも同じです

PHP文件已上传却仍执行旧代码,OPcache应该怎样核对而不是乱重启

代码发布与OPcache更新:代码文件,已写入磁盘的版本,未必被当前请求执行;OPcache,保存编译后代码,与页面缓存不同;部署流程,配套缓存更新机制,不可依赖随意重启
代码发布与OPcache更新:关键概念与边界对照。原创知识示意,点击可查看大图。

OPcache保存编译后的PHP代码,部署后的旧行为可能与缓存检查策略、运行进程、发布路径或其他应用缓存有关。应先确认实际执行的是哪份文件,再决定失效、重载或调整部署流程,不一见旧内容就重启服务器。

用可核验版本确认执行路径

记录发布文件的路径、版本标识和实际请求到达的节点,排除上传到错误站点、软链接旧目录或多节点只更新一台。页面缓存也可能返回旧HTML而没有执行新PHP,应把静态响应与代码执行分开观察,不公开输出敏感绝对路径。

读取OPcache的真实配置

核对目标FPM环境是否启用OPcache、时间戳检查和重新验证设置。不同部署策略可能有意关闭自动检查,此时必须配套可靠的刷新机制。不能只看CLI的OPcache状态,推断网站池中缓存已经失效;它们可能不是同一个运行上下文。

代码发布与OPcache更新:确认执行版本、读取缓存策略、按范围刷新、回读所有节点
排查流程:确认执行版本 → 读取缓存策略 → 按范围刷新 → 回读所有节点。原创知识示意,点击可查看大图。

按部署范围选择更新方式

对明确文件可使用适用的失效机制,或按运维流程处理相关进程与服务。操作前确认权限和影响范围,不向公众暴露任意重置OPcache的HTTP入口。重置编译缓存也不等于清理对象缓存、CDN或页面缓存,需要按实际旧内容来源分别处理。

把验证纳入以后每次发布

刷新后请求真实端点,核对新版本行为、错误日志和关键业务路径。多节点、队列及常驻进程另有自己的更新责任,不靠一台服务器返回正常就宣布全部发布完成。保留旧版本和回退步骤,使缓存策略与代码版本始终对应。

关键区别

代码发布与OPcache更新:代码文件,已写入磁盘的版本,未必被当前请求执行;OPcache,保存编译后代码,与页面缓存不同;部署流程,配套缓存更新机制,不可依赖随意重启
代码发布与OPcache更新:关键概念与边界对照。原创知识示意,点击可查看大图。

代码文件:已写入磁盘的版本;未必被当前请求执行。

OPcache:保存编译后代码;与页面缓存不同。

部署流程:配套缓存更新机制;不可依赖随意重启。

怎样确认处理到位

所有目标执行环境均使用确认的新代码,关键业务正常,旧版本不再非预期执行,缓存刷新与回退步骤能够重复使用。

容易误判的边界

不要把公开页面旧内容全部归因于OPcache;CDN、页面缓存、错误发布路径和多节点不同步也需要排除。

参考資料

PHP:OPcache configuration

返回网站知识,按具体问题继续阅读

ショッピングカート
ページの上部へスクロール
QRコードをスキャンして予約する

1981ステーキハウス(ハイセンス店)

店舗紹介

「1981ステーキハウス(ハイセンス店)」の紹介文

QRコードをスキャンして予約する

1981 STEAK HOUSE ステーキハウス(智慧山店)

店舗紹介

1981 STEAK HOUSE ステーキハウス(智慧山店)の紹介文

QRコードをスキャンして予約する

1981 アメリカンバーベキュー ファクトリーストア

店舗紹介

1981 アメリカンバーベキュー・ファクトリー店の概要

QRコードをスキャンして予約する

1981 STEAK HOUSE ステーキハウス(ミンユアン店)

店舗紹介

1981 STEAK HOUSE ステーキハウス(民園店)の紹介文

連絡先:群合・鄭波鋭(Brian)

WeChatで連絡する

パソコンでQRコードをスキャンしてください。スマートフォンでは、QRコードを長押しして保存できます。
またはWeChat IDをコピーして友達追加してください。

鄭波鋭(Brian)の公式WeChat連絡先QRコード

130 6699 2285 WeChatのIDも同じです

WhatsAppからもご連絡いただけます →