Phar file stub

- « Ingredients of all Phar archives, independent of file format

- Head-to-head comparison of Phar, Tar and Zip »

- PHP Manual
- What makes a phar a phar and not a tar or a zip?
- Phar file stub

## Phar file stub

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:

    <?phpPhar::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.