如何使用PHP清除fastcgi_缓存?

如何使用PHP清除fastcgi_缓存?,php,nginx,fastcgi,Php,Nginx,Fastcgi,有没有内置的方法可以用PHP清除Nginx fastcgi_缓存?我知道我可以编写一个PHP脚本,通过它手动删除所有缓存文件,但这看起来太像黑客了。如果你有 fastcgi_cache_path /tmp/nginx keys_zone=myzone:8m 就打电话 rm -Rf /tmp/nginx/* 其实很简单:当你想清理缓存时,请清理缓存:)(在这种情况下,它只是一个文件夹)谢谢!不过,我正在尝试用PHP动态实现这一点。是否有内置的PHP函数,或者您是否只需要使用PHP取消链接函数

有没有内置的方法可以用PHP清除Nginx fastcgi_缓存?我知道我可以编写一个PHP脚本,通过它手动删除所有缓存文件,但这看起来太像黑客了。

如果你有

fastcgi_cache_path  /tmp/nginx keys_zone=myzone:8m
就打电话

rm -Rf /tmp/nginx/*

其实很简单:当你想清理缓存时,请清理缓存:)(在这种情况下,它只是一个文件夹)

谢谢!不过,我正在尝试用PHP动态实现这一点。是否有内置的PHP函数,或者您是否只需要使用PHP取消链接函数来删除文件。。。从技术上讲,
unlink()
是内置函数。当您谈论递归时,请看下面的注释:factcgi缓存具有固定的深度,因此您可以执行类似于
array\u map('unlink',glob(“/tmp/nginx/*/*/*”)的操作
*
的数量取决于您的配置。您可以保留空目录,它们通常不会造成伤害:)警告:手动删除缓存将导致error.log中出现大量条目,因为当nginx想要清除它们时,它们并不存在。示例[crit]8282#0:unlink()“/etc/nginx/cache/route”失败(2:没有这样的文件或目录),我发现我还必须重新启动nginx,因为当我删除文件夹时,它完全崩溃了。如果你用PHP执行此操作,你的站点就存在安全漏洞。nginx和PHP用户空间应该分开。此设置将允许攻击者可能操纵缓存。