A Phar's stub is a simple PHP file. The smallest possible stub follows:
<?php __HALT_COMPILER();
A stub must contain as a minimum, the __HALT_COMPILER();
token
at its conclusion. Typically, a stub will contain loader functionality
like so:
<?php
Phar::mapPhar();
include 'phar://myphar.phar/index.php';
__HALT_COMPILER();
There are no restrictions on the contents of a Phar stub, except for the requirement
that it conclude with __HALT_COMPILER();
. The closing PHP tag
may be included or omitted, but there can be
no more than 1 space between the ?>
;
and the close tag
or the phar extension will be unable
to process the Phar archive's manifest.
?>
In a tar or zip-based phar archive, the stub is stored in the
.phar/stub.php
file. The default stub for phar-based
Phar archives contains approximately 7k of code to extract the contents
of the phar and execute them. See Phar::createDefaultStub()
for more detail.
The phar alias is stored in a tar or zip-based phar archive in the
.phar/alias.txt
file as plain text.