Deprecated: Optional parameter $keys declared before required parameter $cms_id is implicitly treated as a required parameter in /home/www/dev/work/class/blog/CmsKey.php on line 75

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\php::$title is deprecated in /home/www/dev/work/website/lvesu/class/controller/blog/php.php on line 28

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\php::$outlink is deprecated in /home/www/dev/work/website/lvesu/template/blog/cms/php.manual.tpl on line 2

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\php::$status is deprecated in /home/www/dev/work/website/lvesu/template/blog/index.head.php on line 2
PHP - Manual: Basic VarnishAdmin usage - 互联网笔记

略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: Basic VarnishAdmin usage

2025-05-10

Basic VarnishAdmin usage

The example illustrates a simple usage of the ban functionality

示例 #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 note

up
-3
sarfraz dot qasim at gmail dot com
12 years ago
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.

官方地址:https://www.php.net/manual/en/varnish.example.admin.php

冷却塔厂家 广告
中文GPT4.0无需注册 广告
北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3