如何在服务器和浏览器上关闭PHP页面的缓存?

如何在服务器和浏览器上关闭PHP页面的缓存?,php,linux,caching,server,debian,Php,Linux,Caching,Server,Debian,我不确定php页面的缓存来自哪里。到目前为止,我已经禁用了缓存 Chrome的开发者工具>网络>禁用缓存 Debian的\opt\php73\etc\php73.ini带有 opcache.enable=0 opcache.enable_cli=0 我已经添加到我的服务器条目的末尾 fastcgi_cache_bypass $is_args; fastcgi_no_cache $is_args; 我在php脚本的顶部有一个标题 header("Cache-Control:

我不确定php页面的缓存来自哪里。到目前为止,我已经禁用了缓存

Chrome的开发者工具>网络>禁用缓存

Debian的\opt\php73\etc\php73.ini带有

 opcache.enable=0
 opcache.enable_cli=0
我已经添加到我的服务器条目的末尾

fastcgi_cache_bypass $is_args;
  fastcgi_no_cache $is_args;
我在php脚本的顶部有一个标题

 header("Cache-Control: no-cache");
但是我仍然不知道缓存是从哪里来的


有人能建议我去其他地方看看吗?

如果你试图停止使用PHP缓存网页,我会使用以下代码

//Minimize caching so admin area always displays latest statistics
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
虽然很多CSS和其他JS文件都是独立于PHP缓存的,并且在更新后需要刷新才能显示,但也有其他方法可以解决这一问题

我使用的一个示例是对文件进行哈希(使用php):

$specific_page='/assets/javascripts/pages/javascript.js';
如果(文件存在($specific_page)){
$html.='';
}
这将保留缓存的文件,直到文件被更改。当文件被更改时,它会更改散列,因此会找到新的更新文件(因为URL在技术上已经更改)


同样,没有什么能完全证明在客户端阻止缓存。

您如何知道您的页面被缓存了?有些东西没有按预期工作吗?opcache与
页面
没有任何关系。。。最好把它打开。如果你解释了实际的问题,我们可能会帮助你解决这个问题。有些代码会有帮助,特别是在你声明css和脚本时,而不是实际的源代码。很可能是缓存中的罪犯。如果确实如此,则可以附加在每次重新加载时更改的参数。还有图像。
$specific_page = '/assets/javascripts/pages/javascript.js';
if(file_exists($specific_page)) {
    $html .= '<script src="'.$specific_page.'?v='.hash_file('crc32',$specific_page).'"></script>';
}