<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- $LastChangedRevision$ -->

<!--
 Copyright 2002-2005 The Apache Software Foundation or its licensors, as
 applicable.

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<modulesynopsis metafile="mod_env.xml.meta">

<name>mod_env</name>
<description>Modifies the environment which is passed to CGI scripts and
SSI pages</description>
<status>Base</status>
<sourcefile>mod_env.c</sourcefile>
<identifier>env_module</identifier>
<summary>
    <p>This module allows for control of the environment that will
    be provided to CGI scripts and SSI pages. Environment variables
    may be passed from the shell which invoked the <program>httpd</program>
    process. Alternatively, environment variables may be set or unset within
    the configuration process.</p>
</summary>
<seealso><a href="../env.html">Environment Variables</a></seealso>

<directivesynopsis>
<name>PassEnv</name>
<description>Passes environment variables from the shell</description>
<syntax>PassEnv <var>env-variable</var> [<var>env-variable</var>]
...</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>

<usage>
    <p>Specifies one or more environment variables to pass to CGI
    scripts and SSI pages from the environment of the shell which
    invoked the <program>httpd</program> process.</p>

    <example><title>Example</title>
      PassEnv LD_LIBRARY_PATH
    </example>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>SetEnv</name>
<description>Sets environment variables</description>
<syntax>SetEnv <var>env-variable</var> <var>value</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>

<usage>
    <p>Sets an environment variable, which is then passed on to CGI
    scripts and SSI pages.</p>

    <example><title>Example</title>
      SetEnv SPECIAL_PATH /foo/bin
    </example>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>UnsetEnv</name>
<description>Removes variables from the environment</description>
<syntax>UnsetEnv <var>env-variable</var> [<var>env-variable</var>]
...</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>

<usage>
    <p>Removes one or more environment variables from those passed
    on to CGI scripts and SSI pages.</p>

    <example><title>Example</title>
      UnsetEnv LD_LIBRARY_PATH
    </example>
</usage>
</directivesynopsis>

</modulesynopsis>

