文字

Basic VarnishAdmin usage

The example illustrates a simple usage of the ban functionality

Example #1 Ban an URL

<?php

$args 
= array(
    
VARNISH_CONFIG_HOST     =>  "::1" ,
    
VARNISH_CONFIG_PORT     =>  6082 ,
    
VARNISH_CONFIG_SECRET   =>  "5174826b-8595-4958-aa7a-0609632ad7ca" ,
    
VARNISH_CONFIG_TIMEOUT  =>  300 ,
);

$va  = new  VarnishAdmin ( $args );

try {
    if(!
$va -> connect ()) {
        throw new 
VarnishException ( "Connection failed\n" );
    }   
} catch (
VarnishException $e ) {
    echo 
$e -> getMessage ();
    exit(
3 );
}

try {
    if(!
$va -> auth ()) {
        throw new 
VarnishException ( "Auth failed\n" );
    }   
} catch (
VarnishException $e ) {
    echo 
$e -> getMessage ();
    exit(
3 );
}

try {
    
$status  $va -> ban ( 'req.url ~ "^/$"' );
    if (
VARNISH_STATUS_OK  !=  $status ) {
        throw new 
VarnishException ( "Ban method returned  $status  status\n" );
    }
} catch (
VarnishException $e ) {
    echo 
$e -> getMessage ();
    exit(
3 );
}

exit(
0 );

?>

用户评论:

[#1] sarfraz dot qasim at gmail dot com [2012-09-03 08:57:45]

This code worked for me with couple of changes after installing PECL.

Here is the updated code.

<?php

$args 
= array(
    
VARNISH_CONFIG_HOST    => "127.0.0.1",
    
VARNISH_CONFIG_PORT    => 6082,
    
VARNISH_CONFIG_SECRET  => "5174826b-8595-4958-aa7a-0609632ad7ca",
    
VARNISH_CONFIG_TIMEOUT => 300,
);

$va = new VarnishAdmin($args);

try {
    if(!
$va->connect()) {
        throw new 
VarnishException("Connection failed\n");
    }   
} catch (
VarnishException $e) {
    echo 
$e->getMessage();
    exit(
3);
}

try {
    if(!
$va->auth()) {
        throw new 
VarnishException("Auth failed\n");
    }   
} catch (
VarnishException $e) {
    echo 
$e->getMessage();
    exit(
3);
}

try {
    
$status $va->ban('req.url ~ "^/."');
    if (
VARNISH_STATUS_OK != $status) {
        throw new 
VarnishException("Ban method returned $status status\n");
    }
} catch (
VarnishException $e) {
    echo 
$e->getMessage();
    exit(
3);
}

exit(
0);

?>


Hope this helps.

上一篇: 下一篇: