docs::api::Apache2::ServerRec - Online Linux Manual PageSection : 3
Updated : 2021-01-26
Source : perl v5.32.1
Note : User Contributed Perl Documentation

NAMEApache2::ServerRec − Perl API for Apache server record accessors

Synopsis​ use Apache2::ServerRec (); ​ ​ $error_fname = $s−>error_fname(); ​ ​ $is_virtual = $s−>is_virtual(); ​ ​ $keep_alive = $s−>keep_alive(); ​ $keep_alive_max = $s−>keep_alive_max(); ​ $keep_alive_timeout = $s−>keep_alive_timeout(); ​ ​ $limit_req_fields = $s−>limit_req_fields(); ​ $limit_req_fieldsize = $s−>limit_req_fieldsize(); ​ $limit_req_line = $s−>limit_req_line(); ​ ​ $path = $s−>path(); ​ ​ $hostname = $s−>server_hostname(); ​ $port = $s−>port(); ​ ​ $server_admin = $s−>server_admin(); ​ ​ $proc = $s−>process(); ​ ​ $timeout = $s−>timeout(); ​ $loglevel = $s−>loglevel(); ​ ​ my $server = Apache2::ServerUtil−>server; ​ my $vhosts = 0; ​ for (my $s = $server−>next; $s; $s = $s−>next) { ​ $vhosts++; ​ } ​ print "There are $vhosts virtual hosts";

DescriptionApache2::ServerRec provides the Perl API for Apache server_rec object. Apache2::ServerUtil provides an extra functionality.

APIApache2::ServerRec provides the following functions and/or methods:

error_fnameGet/set the ErrorLog file value (e.g. logs/error_log) ​ $error_fname = $s−>error_fname(); ​ $prev_error_fname = $s−>error_fname($new_error_fname); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_error_fname ( string ) If passed, sets the new value for ErrorLog Note the limited functionality under threaded MPMs. ret: $error_fname ( string ) Returns the ErrorLog value setting. If $new_error_fname is passed returns the setting before the change. since: 2.0.00 

is_virtualTest whether $s is a virtual host object ​ $is_virtual = $s−>is_virtual(); obj: $s ( Apache2::ServerRec object ) ret: $is_virtual ( boolean ) Returns the is_virtual setting. If $new_is_virtual is passed, returns the setting before the change. since: 2.0.00 Example: ​ print "This is a virtual host" if $s−>is_virtual();

keep_aliveGet/set the KeepAlive setting, which specifies whether Apache should accept more than one request over the same connection from the same client. ​ $keep_alive = $s−>keep_alive(); ​ $prev_keep_alive = $s−>keep_alive($new_keep_alive); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_keep_alive ( boolean ) If passed, sets the new keep_alive. Note the limited functionality under threaded MPMs. ret: $keep_alive ( boolean ) Returns the KeepAlive setting. If $new_keep_alive is passed, returns the setting before the change. since: 2.0.00 

keep_alive_maxGet/set the MaxKeepAliveRequest setting, which specifies the maximum number of requests Apache will serve over a KeepAlive connection. ​ $keep_alive_max = $s−>keep_alive_max(); ​ $prev_keep_alive_max = $s−>keep_alive_max($new_keep_alive_max); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_keep_alive_max ( integer ) If passed, sets the new keep_alive_max. Note the limited functionality under threaded MPMs. ret: $keep_alive_max ( integer ) Returns the keep_alive_max setting. If $new_keep_alive_max is passed, returns the setting before the change. since: 2.0.00 

keep_alive_timeoutGet/set the KeepAliveTimeout setting (in microsecs), which specifies how long Apache will wait for another request before breaking a KeepAlive connection. ​ $keep_alive_timeout = $s−>keep_alive_timeout(); ​ $prev_keep_alive_timeout = $s−>keep_alive_timeout($new_timeout); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_keep_alive_timeout ( integer ) The expected value is in microsecs. If passed, sets the new KeepAlive timeout. Note the limited functionality under threaded MPMs. ret: $keep_alive_timeout ( integer ) Returns the KeepAlive timeout value (in microsecs). If $new_timeout is passed, returns the setting before the change. since: 2.0.00 

limit_req_fieldsGet/set limit on number of request header fields ​ $limit_req_fields = $s−>limit_req_fields(); ​ $prev_limit_req_fields = $s−>limit_req_fields($new_limit_req_fields); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_limit_req_fields ( integer ) If passed, sets the new request headers number limit. Note the limited functionality under threaded MPMs. ret: $limit_req_fields ( integer ) Returns the request headers number limit. If $new_limit_req_fields is passed, returns the setting before the change. since: 2.0.00 

limit_req_fieldsizeGet/set limit on size of any request header field ​ $limit_req_fieldsize = $s−>limit_req_fieldsize(); ​ $prev_limit = $s−>limit_req_fieldsize($new_limit); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_limit_req_fieldsize ( integer ) If passed, sets the new request header size limit. Note the limited functionality under threaded MPMs. ret: $limit_req_fieldsize ( integer ) Returns the request header size limit. If $new_limit is passed, returns the setting before the change. since: 2.0.00 

limit_req_lineGet/set limit on size of the HTTP request line ​ $limit_req_line = $s−>limit_req_line(); ​ $prev_limit_req_line = $s−>limit_req_line($new_limit_req_line); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_limit_req_line ( integer ) If passed, sets the new request line limit value. Note the limited functionality under threaded MPMs. ret: $limit_req_line ( integer ) Returns the request line limit value If $new_limit_req_line is passed, returns the setting before the change. since: 2.0.00 

loglevelGet/set the LogLevel directive value ​ $loglevel = $s−>loglevel(); ​ $prev_loglevel = $s−>loglevel($new_loglevel); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_loglevel ( Apache2::Const :log constant ) If passed, sets a new LogLevel value Note the limited functionality under threaded MPMs. ret: $loglevel ( Apache2::Const :log constant ) Returns the LogLevel value as a constant. If $new_loglevel is passed, returns the setting before the change. since: 2.0.00 For example, to set the LogLevel value to info: ​ use Apache2::Const −compile => qw(LOG_INFO); ​ $s−>loglevel(Apache2::Const::LOG_INFO);

nextThe next server record in the list (if there are vhosts) ​ $s_next = $s−>next(); obj: $s ( Apache2::ServerRec object ) ret: $s_next ( Apache2::ServerRec object ) since: 2.0.00 For example the following code traverses all the servers, starting from the base server and continuing to vhost servers, counting all available vhosts: ​ use Apache2::ServerRec (); ​ use Apache2::ServerUtil (); ​ my $server = Apache2::ServerUtil−>server; ​ my $vhosts = 0; ​ for (my $s = $server−>next; $s; $s = $s−>next) { ​ $vhosts++; ​ } ​ print "There are $vhosts virtual hosts";

pathGet/set pathname for the ServerPath setting ​ $path = $s−>path(); ​ $prev_path = $s−>path($new_path); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_path ( string ) If passed, sets the new path. Note the limited functionality under threaded MPMs. ret: $path ( string ) Returns the path setting. If $new_path is passed, returns the setting before the change. since: 2.0.00 

portGet/set the port value ​ $port = $s−>port(); ​ $prev_port = $s−>port($new_port); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_port ( integer ) If passed, sets the new port. Note the limited functionality under threaded MPMs. META: I don't think one should be allowed to change port number after the server has started. ret: $port ( integer ) Returns the port setting. If $new_port is passed returns the setting before the change. since: 2.0.00 

processThe process this server is running in ​ $proc = $s−>process(); obj: $s ( Apache2::ServerRec object ) ret: $proc ( Apache2::Process object ) since: 2.0.00 

server_adminGet/set the ServerAdmin value ​ $server_admin = $s−>server_admin(); ​ $prev_server_admin = $s−>server_admin($new_server_admin); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_server_admin ( string ) If passed, sets the new ServerAdmin value. Note the limited functionality under threaded MPMs. ret: $server_admin ( string ) Returns the ServerAdmin value. If $new_server_admin is passed, returns the setting before the change. since: 2.0.00 

server_hostnameGet/set the ServerName value ​ $server_hostname = $s−>server_hostname(); ​ $prev_server_hostname = $s−>server_hostname($new_server_hostname); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_server_hostname ( string ) If passed, sets the ServerName value Note the limited functionality under threaded MPMs. ret: $server_hostname ( string ) Returns the ServerName value If $new_server_hostname is passed, returns the setting before the change. since: 2.0.00 

timeoutGet/set the timeout (TimeOut) (in microsecs), which Apache will wait for before it gives up doing something ​ $timeout = $s−>timeout(); ​ $prev_timeout = $s−>timeout($new_timeout); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_timeout ( integer ) If passed, sets the new timeout (the value should be in microseconds). Note the limited functionality under threaded MPMs. ret: $timeout ( integer ) Returns the timeout setting in microseconds. If $new_timeout is passed, returns the setting before the change. since: 2.0.00 Let us repeat again: the timeout values is microseconds. For example to set the timeout to 20 secs: ​ $s−>timeout(20_000_000);

Notes

Limited Functionality under Threaded MPMsNote that under threaded MPMs, some of the read/write accessors, will be able to set values only before threads are spawned (i.e. before the ​ChildInit phase). Therefore if you are developing your application on the non-threaded ​MPM, but planning to have it run under threaded mpm, you should not use those methods to set values after the ChildInit phase. The affected accessor methods are marked as such in their respective documentation entries.

Unsupported APIApache2::ServerRec also provides auto-generated Perl interface for a few other methods which aren't tested at the moment and therefore their API is a subject to change. These methods will be finalized later as a need arises. If you want to rely on any of the following methods please contact the the mod_perl development mailing list so we can help each other take the steps necessary to shift the method to an officially supported API.

addrsGet the addrs value ​ $addrs = $s−>addrs(); obj: $s ( Apache2::ServerRec object ) ret: $addrs ( Apache2::ServerAddr ) Returns the addrs setting. since: subject to change META: this methods returns a vhost-specific Apache2::ServerAddr object, which is not implemented at the moment. See the struct server_addr_rec entry in httpd−2.0/include/httpd.h for more information. It seems that most (all?) of the information in that record is available through other APIs.

lookup_defaultsGet the lookup_defaults value. MIME type info, etc., before we start checking per-directory info. ​ $lookup_defaults = $s−>lookup_defaults(); obj: $s ( Apache2::ServerRec object ) ret: $lookup_defaults ( Apache2::ConfVector ) Returns the lookup_defaults setting. since: subject to change 

module_configGet config vector containing pointers to modules' per-server config structures. ​ $module_config = $s−>module_config(); obj: $s ( Apache2::ServerRec object ) ret: $module_config ( Apache2::ConfVector ) Returns the module_config setting. since: subject to change 

namesGet/set the value(s) for the ServerAlias setting ​ $names = $s−>names(); ​ $prev_names = $s−>names($new_names); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_names ( APR::ArrayHeader ) If passed, sets the new names. Note the limited functionality under threaded MPMs. ret: $names ( APR::ArrayHeader ) Returns the names setting. If $new_names is passed, returns the setting before the change. since: 2.0.00 META: we don't have APR::ArrayHeader yet

wild_namesWildcarded names for ServerAlias servers ​ $wild_names = $s−>wild_names(); ​ $prev_wild_names = $s−>wild_names($new_wild_names); obj: $s ( Apache2::ServerRec object ) opt arg1: $new_wild_names ( APR::ArrayHeader ) If passed, sets the new wild_names. Note the limited functionality under threaded MPMs. ret: $wild_names ( APR::ArrayHeader ) Returns the wild_names setting. If $new_wild_names is passed, returns the setting before the change. since: 2.0.00 META: we don't have APR::ArrayHeader yet

See Alsomod_perl 2.0 documentation.

Copyrightmod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.

AuthorsThe mod_perl development team and numerous contributors.
0
Johanes Gumabo
Data Size   :   69,361 byte
man-Apache2::ServerRec.3pmBuild   :   2024-12-29, 07:25   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   4 / 256,556
Visitor ID   :     :  
Visitor IP   :   3.145.40.234   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.29
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.

ERROR : Need New Coding :         (parse_manual_page_|252|Apache2::ServerRec.3pm|36/37|el══─{─══.|.el══─{─══. ds -- \|\(em\| )         (htmlprn|149|Apache2::ServerRec.3pm|36/37|.el══─{─══. ds --  —  |.el══─{─══. ds -- \|\(em\| )         (parse_manual_page_|252|Apache2::ServerRec.3pm|43|br══─}─══|'br══─}─══ )         (htmlprn|149|Apache2::ServerRec.3pm|43|'br══─}─══ |'br══─}─══ )