ホームページ > バックエンド開発 > PHPチュートリアル > PHPでワニスキャッシュファイルをクリアするにはどうすればよいですか?

PHPでワニスキャッシュファイルをクリアするにはどうすればよいですか?

WBOY
リリース: 2016-07-25 08:52:11
オリジナル
1054 人が閲覧しました
  1. function clearVarnish($ip,$url,$host=null){

  2. $errstr = '';

  3. $errno = '';
  4. $varnist_arr = isset($host) ? $host : C('VARNISH_LIST');
  5. foreach ($varnist_arr as $v){
  6. $fp = fsockopen ($ip, 2000, $errno, $errstr, 2);
  7. if (!$fp) {
  8. return false;
  9. } else {
  10. $out = "purge.url $url rn";
  11. fputs ($fp, $out);
  12. $out = fgets($fp , 4096);
  13. fclose ($fp);
  14. return $out;
  15. }
  16. }
  17. }
  18. ?>

コードをコピー

受信 URL をパラメータにすることはできないことに注意してください。例: www.baidu.com/?tn=sougou purge.url 後にクリアされた正規表現は www.baidu.com/(.?)sougou に変更できるためです。

Varnish が複数のサイトのコンテンツをキャッシュしており、指定されたサイト URL をクリアするか、単にサイトのホームページをクリアする必要がある場合は、purge.url の代わりに purge を使用する必要があります。

2. コード:

  1. function varnish_purge($ip, $host='', $url) {
  2. $errstr = '';
  3. $errno = '';
  4. $fp = fsockopen ($ip, 2000, $errno, $errstr, 2);
  5. if (!$fp) {
  6. return $errno;
  7. }else {
  8. if(!empty($host)){
  9. $out = "purge req.http.host == {$host } && req.url ~ ^/$ rn";
  10. }else{
  11. $out = " purge.url {$url} rn";
  12. }
  13. fputs ($fp, $out);
  14. $out = fgets($ fp, 4096);
  15. fclose ($fp);
  16. return $out
  17. }
  18. }
コードをコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート