virtual() is an Apache-specific function which is equivalent to 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.
For PHP files, you need to use include() or require(); virtual() cannot be used to include a document which is itself a PHP file.
(с)php.net
в общем не парсится пхп код в виртуале...