【发布时间】:2012-11-14 21:53:52
【问题描述】:
是否可以使用 Varnish 清除特定目录下的所有文件?你怎么能在 PHP 脚本中完成这个?
例如,如果一个URL包含/product/a-specific-product/的路径,是否也可以清除/product/a-specific-product/a-sub-page/等文件?
我有以下函数用于清除 Varnish 3 中的特定 URL(VarnishPurger() 类的一部分:
public function executePurge()
{
$purgeUrls = array_unique($this->purgeUrls);
foreach($purgeUrls as $url)
{
$this->purgeUrl($url);
}
if (!empty($purgeUrls))
{
$this->purgeUrl(home_url());
}
}
protected function purgeUrl($url)
{
$c = curl_init($url);
curl_setopt($c, CURLOPT_CUSTOMREQUEST, 'PURGE');
curl_exec($c);
curl_close($c);
}
【问题讨论】:
标签: php varnish varnish-vcl