The Virtuoso server in its standard build is a single
executable. To allow for external customizations based on VSEs the
Virtuoso server engine becomes a callable library, the main
function is re-written to incorporate other libraries and a new
executable is created. For example, a Virtuoso server that contains
PHP support under Windows consists of:
which replaces the usual 7M
virtuoso-odbc-t.exe . virtuoso.odbc-php-t.exe is then executed in
the usual way.
The Linux counterpart would be an 8M virtuoso-odbc-php-t binary.
The Virtuoso executable files provided in the installer are
appropriately named to indicate which customizations are supported.
e.g. one that contains "php" and "clr" in the file name has been
built with PHP and CLR support.
The location of the support libraries (.DLL's) for the various
customizations of Virtuoso on Windows must either be in the %PATH%;
environment variable or be the same directory as the virtuoso .EXE
file. Virtuoso will not be able to start otherwise.
If Virtuoso is starting as a system service then the SYSTEM PATH
must be altered as opposed to the USER PATH. The USER PATH is
appropriate to alter if Virtuoso is being started as that user,
usually when in debug/foreground mode. This is applicable to any
required environment variables, not just PATH.
Hosted environments that require SQL access back to the database
can make use of the in-process client mechanism. Hosted Runtimes
such as PHP and ASP .Net would ordinarily use an RPC based (ODBC)
connection. To improve the efficiency of the system, keeping it all
in-process, a special connection can be made with no alteration to
the API used in the code for communication.