我们对我们的 PHP/MySQL 站点感到烦恼,因为它似乎缓存了数据库中的数据,并且我们的 PHP 页面显示了过时的记录。事实上,有些页面链接到的 URL 已完全从数据库中删除,但它们没有显示更新的记录,甚至没有显示数据。
如果我们有耐心等待几个(未定义)小时,数据最终会出现。我已经通过 PHP 在所有页面上添加了常规的无缓存标头,但它似乎不会影响 MySQL 输出。
不过,该网站的 PHP 部分可以立即更新,并立即显示 HTML 等更改。有没有办法强制 MySQL 只从其查询中提取新数据?无论如何,我认为这就是它的工作方式!
谢谢,克里斯
PS这是我用来尝试强制无缓存情况的php代码:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Always modified
header("Cache-Control: private, no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0