⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apache2::serverutil.3

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 3
📖 第 1 页 / 共 3 页
字号:
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05).\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...de Sp \" Vertical space (when we can't use .PP).if t .sp .5v.if n .sp...de Vb \" Begin verbatim text.ft CW.nf.ne \\$1...de Ve \" End verbatim text.ft R.fi...\" Set up some character translations and predefined strings.  \*(-- will.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left.\" double quote, and \*(R" will give a right double quote.  \*(C+ will.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,.\" nothing in troff, for use with C<>..tr \(*W-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'.ie n \{\.    ds -- \(*W-.    ds PI pi.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch.    ds L" "".    ds R" "".    ds C` "".    ds C' ""'br\}.el\{\.    ds -- \|\(em\|.    ds PI \(*p.    ds L" ``.    ds R" '''br\}.\".\" Escape single quotes in literal strings from groff's Unicode transform..ie \n(.g .ds Aq \(aq.el       .ds Aq '.\".\" If the F register is turned on, we'll generate index entries on stderr for.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index.\" entries marked with X<> in POD.  Of course, you'll have to process the.\" output yourself in some meaningful fashion..ie \nF \{\.    de IX.    tm Index:\\$1\t\\n%\t"\\$2"...    nr % 0.    rr F.\}.el \{\.    de IX...\}.\".\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2)..\" Fear.  Run.  Save yourself.  No user-serviceable parts..    \" fudge factors for nroff and troff.if n \{\.    ds #H 0.    ds #V .8m.    ds #F .3m.    ds #[ \f1.    ds #] \fP.\}.if t \{\.    ds #H ((1u-(\\\\n(.fu%2u))*.13m).    ds #V .6m.    ds #F 0.    ds #[ \&.    ds #] \&.\}.    \" simple accents for nroff and troff.if n \{\.    ds ' \&.    ds ` \&.    ds ^ \&.    ds , \&.    ds ~ ~.    ds /.\}.if t \{\.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u".    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'.\}.    \" troff and (daisy-wheel) nroff accents.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'.ds 8 \h'\*(#H'\(*b\h'-\*(#H'.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#].ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#].ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#].ds ae a\h'-(\w'a'u*4/10)'e.ds Ae A\h'-(\w'A'u*4/10)'E.    \" corrections for vroff.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'.    \" for low resolution devices (crt and lpr).if \n(.H>23 .if \n(.V>19 \\{\.    ds : e.    ds 8 ss.    ds o a.    ds d- d\h'-1'\(ga.    ds D- D\h'-1'\(hy.    ds th \o'bp'.    ds Th \o'LP'.    ds ae ae.    ds Ae AE.\}.rm #[ #] #H #V #F C.\" ========================================================================.\".IX Title "mod_perl-2.0.2::docs::api::Apache2::ServerUtil 3".TH mod_perl-2.0.2::docs::api::Apache2::ServerUtil 3 "2005-10-21" "perl v5.10.0" "User Contributed Perl Documentation".\" For nroff, turn off justification.  Always turn off hyphenation; it makes.\" way too many mistakes in technical documents..if n .ad l.nh.SH "NAME"Apache2::ServerUtil \- Perl API for Apache server record utils.SH "Synopsis".IX Header "Synopsis".Vb 2\&  use Apache2::ServerUtil ();\&  $s = Apache2::ServerUtil\->server;\&  \&  # push config\&  $s\->add_config([\*(AqServerTokens off\*(Aq]);\&  \&  # add components to the Server signature\&  $s\->add_version_component("MyModule/1.234");\&  \&  # access PerlSetVar/PerlAddVar values\&  my $srv_cfg = $s\->dir_config;\&  \&  # check command line defines\&  print "this is mp2"\&      if Apache2::ServerUtil::exists_config_define(\*(AqMODPERL2\*(Aq);\&  \&  # get PerlChildExitHandler configured handlers\&  @handlers = @{ $s\->get_handlers(\*(AqPerlChildExitHandler\*(Aq) || []};\&  \&  # server build and version info:\&  $when_built = Apache2::ServerUtil::get_server_built();\&  $version = Apache2::ServerUtil::get_server_version();\&  \&  # ServerRoot value\&  $server_root = Apache2::ServerUtil::server_root();\&  \&  # get \*(Aqconf/\*(Aq dir path (avoid using this function!)\&  my $dir = Apache2::ServerUtil::server_root_relative($r\->pool, \*(Aqconf\*(Aq);\&  \&  # set child_exit handlers\&  $r\->set_handlers(PerlChildExitHandler => \e&handler);\&  \&  # server level PerlOptions flags lookup\&  $s\->push_handlers(ChildExit => \e&child_exit)\&      if $s\->is_perl_option_enabled(\*(AqChildExit\*(Aq);\&  \&  # extend HTTP to support a new method\&  $s\->method_register(\*(AqNEWGET\*(Aq);\&  \&  # register server shutdown callback\&  Apache2::ServerUtil::server_shutdown_register_cleanup(sub { Apache2::Const::OK });\&  \&  # do something only when the server restarts\&  my $cnt = Apache2::ServerUtil::restart_count();\&  do_something_once() if $cnt > 1;.Ve.SH "Description".IX Header "Description"\&\f(CW\*(C`Apache2::ServerUtil\*(C'\fR provides the Apache serverobject utilities \s-1API\s0..SH "Methods API".IX Header "Methods API"\&\f(CW\*(C`Apache2::ServerUtil\*(C'\fR provides the following functions and/or methods:.ie n .Sh """add_config""".el .Sh "\f(CWadd_config\fP".IX Subsection "add_config"Dynamically add Apache configuration:.PP.Vb 1\&  $s\->add_config($lines);.Ve.ie n .IP "obj: $s\fR ( \f(CW""Apache2::ServerRec object"" )" 4.el .IP "obj: \f(CW$s\fR ( \f(CWApache2::ServerRec object\fR )" 4.IX Item "obj: $s ( Apache2::ServerRec object )".PD 0.ie n .IP "arg1: $lines ( \s-1ARRAY\s0 ref )" 4.el .IP "arg1: \f(CW$lines\fR ( \s-1ARRAY\s0 ref )" 4.IX Item "arg1: $lines ( ARRAY ref )".PDAn \s-1ARRAY\s0 reference containing configuration lines per element, withoutthe new line terminators..IP "ret: no return value" 4.IX Item "ret: no return value".PD 0.IP "since: 2.0.00" 4.IX Item "since: 2.0.00".PD.PPSee also:\&\f(CW\*(C`$r\->add_config\*(C'\fR.PPFor example:.PPAdd a configuration section at the server startup (e.g. from\&\fIstartup.pl\fR):.PP.Vb 9\&  use Apache2::ServerUtil ();\&  my $conf = <<\*(AqEOC\*(Aq;\&  PerlModule Apache2::MyExample\&  <Location /perl>\&    SetHandler perl\-script\&    PerlResponseHandler Apache2::MyExample\&  </Location>\&  EOC\&  Apache2::ServerUtil\->server\->add_config([split /\en/, $conf]);.Ve.ie n .Sh """add_version_component""".el .Sh "\f(CWadd_version_component\fP".IX Subsection "add_version_component"Add a component to the version string.PP.Vb 1\&  $s\->add_version_component($component);.Ve.ie n .IP "obj: $s\fR ( \f(CW""Apache2::ServerRec object"" )" 4.el .IP "obj: \f(CW$s\fR ( \f(CWApache2::ServerRec object\fR )" 4.IX Item "obj: $s ( Apache2::ServerRec object )".PD 0.ie n .IP "arg1: $component ( string )" 4.el .IP "arg1: \f(CW$component\fR ( string )" 4.IX Item "arg1: $component ( string )".PDThe string component to add.IP "ret: no return value" 4.IX Item "ret: no return value".PD 0.IP "since: 2.0.00" 4.IX Item "since: 2.0.00".PD.PPThis function is usually used by modules to advertise themselves tothe world. It's picked up by such statistics collectors, likenetcraft.com, which accomplish that by connecting to various serversand grabbing the server version response header (\f(CW\*(C`Server\*(C'\fR). Someservers choose to fully or partially conceal that header..PPThis method should be invoked in the\&\f(CW\*(C`PerlPostConfigHandler\*(C'\fRphase, which will ensure that the Apache core version number willappear first..PPFor example let's add a component \fI\*(L"Hikers, Inc/0.99999\*(R"\fR to theserver string at the server startup:.PP.Vb 2\&  use Apache2::ServerUtil ();\&  use Apache2::Const \-compile => \*(AqOK\*(Aq;\&  \&  Apache2::ServerUtil\->server\->push_handlers(\&      PerlPostConfigHandler => \e&add_my_version);\&  \&  sub add_my_version {\&      my ($conf_pool, $log_pool, $temp_pool, $s) = @_;\&      $s\->add_version_component("Hikers, Inc/0.99999");\&      return Apache2::Const::OK;\&  }.Ve.PPor of course you could register the\&\f(CW\*(C`PerlPostConfigHandler\*(C'\fRhandler directly in \fIhttpd.conf\fR.PPNow when the server starts, you will something like:.PP.Vb 3\&  [Thu Jul 15 12:15:28 2004] [notice] Apache/2.0.51\-dev (Unix)\&  mod_perl/1.99_15\-dev Perl/v5.8.5 Hikers, Inc/0.99999\&  configured \-\- resuming normal operations.Ve.PPAlso remember that the \f(CW\*(C`ServerTokens\*(C'\fR directive value controlswhether the component information is displayed or not..ie n .Sh """server_shutdown_cleanup_register""".el .Sh "\f(CWserver_shutdown_cleanup_register\fP".IX Subsection "server_shutdown_cleanup_register"Register server shutdown cleanup callback:.PP.Vb 1\&  Apache2::ServerUtil::server_shutdown_cleanup_register($sub);.Ve.ie n .IP "arg1: $sub ( \s-1CODE\s0 ref or \s-1SUB\s0 name )" 4.el .IP "arg1: \f(CW$sub\fR ( \s-1CODE\s0 ref or \s-1SUB\s0 name )" 4.IX Item "arg1: $sub ( CODE ref or SUB name )".PD 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -