Nginx 和 PHP 緩存失效的問題可以通過以下方法解決:
在 Nginx 配置文件中,找到 location
部分,增加或修改 expires
和 add_header
指令。例如:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
這將使得靜態資源在 30 天內有效,并添加緩存控制頭。
在 PHP 腳本中,使用 clearstatcache()
函數清除緩存。例如:
<?php
// 清除 PHP 緩存
clearstatcache();
?>
你還可以在腳本開頭添加以下代碼來禁用 PHP 緩存:
<?php
// 禁用 PHP 緩存
ini_set('apc.enable_cli', 0);
ini_set('opcache.enable', 0);
?>
在 PHP 配置文件(php.ini)中,找到以下設置并進行調整:
opcache.enable
:將其設置為 0
以禁用 OPCache。apc.enable_cli
:將其設置為 0
以禁用 APCu(如果已安裝)。在修改配置文件后,確保重啟 Nginx 和 PHP-FPM 服務以使更改生效。具體命令取決于你的系統環境。
通過以上方法,你應該能夠解決 Nginx 和 PHP 緩存失效的問題。如果問題仍然存在,請檢查其他可能影響緩存的因素,如瀏覽器設置、代理服務器等。