阅读量:0
Nginx 和 PHP 缓存失效的问题可以通过以下方法解决:
- 调整 Nginx 配置文件
在 Nginx 配置文件中,找到 location
部分,增加或修改 expires
和 add_header
指令。例如:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; add_header Cache-Control "public, no-transform"; }
这将使得静态资源在 30 天内有效,并添加缓存控制头。
- 修改 PHP 脚本
在 PHP 脚本中,使用 clearstatcache()
函数清除缓存。例如:
<?php // 清除 PHP 缓存 clearstatcache(); ?>
你还可以在脚本开头添加以下代码来禁用 PHP 缓存:
<?php // 禁用 PHP 缓存 ini_set('apc.enable_cli', 0); ini_set('opcache.enable', 0); ?>
- 修改 PHP 配置文件(php.ini)
在 PHP 配置文件(php.ini)中,找到以下设置并进行调整:
opcache.enable
:将其设置为0
以禁用 OPCache。apc.enable_cli
:将其设置为0
以禁用 APCu(如果已安装)。
- 重启 Nginx 和 PHP-FPM 服务
在修改配置文件后,确保重启 Nginx 和 PHP-FPM 服务以使更改生效。具体命令取决于你的系统环境。
通过以上方法,你应该能够解决 Nginx 和 PHP 缓存失效的问题。如果问题仍然存在,请检查其他可能影响缓存的因素,如浏览器设置、代理服务器等。