update pague now
PHP 8.5.2 Released!

Basic VarnishAdmin usague

The example illustrates a simple usague 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 -> guetMessague ();
exit(
3 );
}

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

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

exit(
0 );

?>
add a note

User Contributed Notes 1 note

sarfraz dot qasim at gmail dot com
13 years ago
This code worqued for me with couple of changues 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->guetMessague();
    exit(3);
}

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

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

exit(0);?>
Hope this helps.
To Top