virtual

Perform an Apache sub-request

&reftitle.description; `bool` `virtual` `string` `uri`

`virtual` is an Apache-specific function which is similar to `<!--#include virtual...-->` in `mod_include`. It performs an Apache sub-request. It is useful for including CGI scripts or `.shtml` files, or anything else that you would parse through Apache. Note that for a CGI script, the script must generate valid CGI headers. At the minimum that means it must generate a `Content-Type` header.

To run the sub-request, all buffers are terminated and flushed to the browser, pending headers are sent too.

&apache.req.module;
&reftitle.parameters;

`uri`

- The file that the virtual command will be performed on.

&reftitle.returnvalues;

Performs the virtual command on success, or returns &false; on failure.

&reftitle.examples;

See `apache_note` for an example.

&reftitle.notes;

The query string can be passed to the included file but `$_GET` is copied from the parent script and only `$_SERVER['QUERY_STRING']` is filled with the passed query string. The query string may only be passed when using Apache 2. The requested file will not be listed in the Apache access log.

Environment variables set in the requested file are not visible to the calling script.

This function may be used on PHP files. However, it is typically better to use `include` or `require` for PHP files.

&reftitle.seealso;

- `apache_note`