This is not the varnish bug. But I don't know how to solve it ,and the document is few.Please help me .Thanks.<br> The problem is about how to purge the cache by the http.<br> When my hash is the fellow ,I can solve it <br>
<br> sub vcl_hash { <br> set req.hash += req.url; <br> hash;<br>}<br> <br> I have write a php file to purge the cache <br> <br> <?php <br>
function purge($ip, $domain, $url)<br> { <br> $errstr = ''; <br> $errno = ''; <br> $fp = fsockopen ($ip, 80, $errno, $errstr, 2);<br>
if (!$fp) <br> { <br> return false; <br> }<br> else<br> {<br> $out = "PURGE $url HTTP/1.1\r\n";<br>
$out .= "Host:$domain\r\n";<br> $out .= "Connection: close\r\n\r\n"; <br> fputs ($fp, $out);<br> $out = fgets($fp , 4096);<br> echo $out;<br> fclose ($fp);<br>
return true;<br> }<br> }<br><br> $domain = $_GET['a'];<br> $imgurl = $_GET['b'];<br><br> $squid = array(<br> '221.238.196.199',<br> '221.238.196.200',<br>
);<br><br> foreach($squid as $ip)<br> {<br> if(!empty($ip))<br> {<br> purge($ip, $domain, $imgurl);<br> echo "clear is over";<br> }<br> }<br> <br>
?><br><br>But, I change the hash, use the similar way but can't clear it ,output "tHTTP/1.1 404 Not in cache "<br clear="all"><br>sub vcl_hash { <br> set req.hash += req.url; <br>
if (req.http.host) { <br> set req.hash += req.http.host;<br> } else { <br> set req.hash += server.ip; <br> } <br> if (req.http.Accept-Encoding) { <br>
set req.hash += req.http.Accept-Encoding;<br> }<br> hash;<br>}<br> <br>who can tell me how to purge the hash cache ,how to write the php ,I need through remote empty cache ,thanks.<br><br>I hope you can understand what I mean, my English is pool.<br>
<br> Ajian<br><br> I <br>