This is one stop global knowledge base where you can learn about all the products, solutions and support features.
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
apache_getenv — Get an Apache subprocess_env variable
apache_getenv(string $variable, bool $walk_to_top = false): string|false
Retrieve an Apache environment variable specified by
variable
.
variable
The Apache environment variable
walk_to_top
Whether to get the top-level variable available to all Apache layers.
The value of the Apache environment variable on success, or
false
on failure
Example #1 apache_getenv() example
The example above shows how to retrieve the value of the Apache environment variable SERVER_ADDR .
<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>
The above example will output something similar to:
42.24.42.240
(PHP 4, PHP 5, PHP 7, PHP 8)
apache_lookup_uri — Perform a partial request for the specified URI and return all info about it
apache_lookup_uri(string $filename): object|false
This performs a partial request for a URI. It goes just far enough to obtain all the important information about the given resource.
This function is supported when PHP is installed as an Apache module webserver.
filename
The filename (URI) that's being requested.
An object of related URI information. The properties of this object are:
Returns
false
on failure.
Example #1 apache_lookup_uri() example
<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);
if (file_exists($info->filename)) {
echo 'file exists!';
}
?>
The above example will output something similar to:
stdClass Object ( [status] => 200 [the_request] => GET /dir/file.php HTTP/1.1 [method] => GET [mtime] => 0 [clength] => 0 [chunked] => 0 [content_type] => application/x-httpd-php [no_cache] => 0 [no_local_copy] => 1 [unparsed_uri] => /dir/index.php?var=value [uri] => /dir/index.php [filename] => /home/htdocs/dir/index.php [args] => var=value [allowed] => 0 [sent_bodyct] => 0 [bytes_sent] => 0 [request_time] => 1074282764 ) file exists!
(PHP 4, PHP 5, PHP 7, PHP 8)
apache_note — Get and set apache request notes
apache_note(string $note_name, ?string $note_value = null): string|false
This function is a wrapper for Apache's
table_get
and
table_set
. It edits the table of notes that exists during a request. The table's purpose is to allow Apache modules to communicate.
The main use for apache_note() is to pass information from one module to another within the same request.
note_name
The name of the note.
note_value
The value of the note.
If
note_value
is omitted or
null
, it returns the current value of note
note_name
. Otherwise, it sets the value of note
note_name
to
note_value
and returns the previous value of note
note_name
. If the note cannot be retrieved,
false
is returned.
Version | Description |
---|---|
8.0.0 |
note_value
is nullable now.
|
Example #1 Passing information between PHP and Perl
<?php
apache_note('name', 'Fredrik Ekengren');
// Call perl script
virtual("/perl/some_script.pl");
$result = apache_note("resultdata");
?>
# Get Apache request object my $r = Apache->request()->main(); # Get passed data my $name = $r->notes('name'); # some processing # Pass result back to PHP $r->notes('resultdata', $result);
Example #2 Logging values in access.log
<?php
apache_note('sessionID', session_id());
?>
# "%{sessionID}n" can be used in the LogFormat directive
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
apache_request_headers — Fetch all HTTP request headers
apache_request_headers(): array
Fetches all HTTP request headers from the current request. Works in the Apache, FastCGI, CLI, and FPM webservers.
This function has no parameters.
An associative array of all the HTTP headers in the current request, or
false
on failure.
Version | Description |
---|---|
7.3.0 | This function became available in the FPM SAPI. |
Example #1 apache_request_headers() example
<?php
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}
?>
The above example will output something similar to:
Accept: */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 Host: www.example.com Connection: Keep-Alive
Note :
You can also get at the value of the common CGI variables by reading them from the environment, which works whether or not you are using PHP as an Apache module. Use phpinfo() to see a list of all of the available environment variables.
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
apache_response_headers — Fetch all HTTP response headers
apache_response_headers(): array|false
Fetch all HTTP response headers. Works in the Apache, FastCGI, CLI, and FPM webservers.
This function has no parameters.
An array of all Apache response headers on success or
false
on failure.
Example #1 apache_response_headers() example
<?php
print_r(apache_response_headers());
?>
The above example will output something similar to:
Array ( [Accept-Ranges] => bytes [X-Powered-By] => PHP/4.3.8 )
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
apache_setenv — Set an Apache subprocess_env variable
apache_setenv(string $variable, string $value, bool $walk_to_top = false): bool
apache_setenv()
sets the value of the Apache environment variable specified by
variable
.
Note :
When setting an Apache environment variable, the corresponding $_SERVER variable is not changed.
variable
The environment variable that's being set.
value
The new
variable
value.
walk_to_top
Whether to set the top-level variable available to all Apache layers.
Returns
true
on success or
false
on failure.
Example #1 Setting an Apache environment variable using apache_setenv()
<?php
apache_setenv("EXAMPLE_VAR", "Example Value");
?>
Note :
apache_setenv() can be paired up with apache_getenv() across separate pages or for setting variables to pass to Server Side Includes (.shtml) that have been included in PHP scripts.