[英]How to Turn off Caching of PHP Pages on Server and Browser?
我不確定 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';
if(file_exists($specific_page)) {
$html .= '<script src="'.$specific_page.'?v='.hash_file('crc32',$specific_page).'"></script>';
}
這將保留緩存的文件,直到文件被更改。 當文件更改時,它會更改哈希值,從而找到新的更新文件(因為 URL 在技術上已更改)。
同樣,在防止客戶端緩存方面,沒有什么是真正完全的證據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.