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:
 
<?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.
 
用户贡献的备注 1 note
> but there can be no more than 1 space between the ; and the close tag
there must be **exactly** 1 space, or "\n".
below is how php trims the ending tag.
> seek_for("__HALT_COMPILER();");
> read_3_into(buffer);
> if ((*buffer == ' ' || *buffer == '\n') && *(buffer + 1) == '?' && *(buffer + 2) == '>') {
> do_things.