我在一个朋友的网站上遇到了这个问题。它是一个安装了几个插件的WordPress。其中一个插件用于更新几张图片(从远程位置收集图片并将其存储在本地以保存带宽)。但当运行该插件时,网站似乎拒绝显示更新后的图片,并不断给我旧版本,这些版本显然不再存在于服务器上。
浏览器缓存很快就被排除了。WordPress可能有点棘手,所以我检查了所有其他插件,插件,以及是否有任何形式的对象缓存是活动的。在排除了这一点之后,我发现托管服务提供商一定是问题所在。我不知道,我不得不发现他们使用Cloudflare作为DNS提供商,以便为他们的网站提供有效的SSL证书。但是,默认情况下,Cloudflare还附带了缓存,这可能是相当积极的。
因为他们喜欢缓存并希望保持打开状态,我告诉我的朋友手动清除Cloudflare该高速缓存。
因此,为了避免每次调用插件时都要登录到Cloudflare的过程,我正在寻找一种方法来使用他们的API以方便的方式解决这个问题。我需要一些PHP代码(集成到Wordpress插件中)...
1条答案
按热度按时间yzxexxkh1#
我写了一个很小的可以改进的php-script,它使用给定的证书(用户电子邮件和API密钥)连接到Cloudflare的API。要获取API密钥:
1.登录Cloudflare帐户。
1.转到我的个人资料。
1.向下滚动到API密钥并找到***全局API密钥***。
1.单击API密钥查看您的API标识符。
在第一步中,脚本会查询所谓的Zone-ID,这是您想要控制的域的唯一标识符。由于Cloudflare迄今为止没有提供在后端查看此ID的选项,因此只能通过API请求获得。
在第二步中,我们再次连接到Cloudflare的API,这次指示清除该区域的整个缓存。
这是我的解决方案(我把这个放在我的插件更新脚本的底部,在其他一切都完成后运行):