Por favor, explique cómo crear los talones Phar de PHP

Estoy tratando de crear una aplicación CLI PHP muy simple que se pueda ejecutar como phar archivo desde la línea de comando:

# php myProject.phar

Esto es lo que he intentado hasta ahora:

Mi proyect

Mi proyecto está en un directorio llamadoMyProject y tiene estos dos archivos:

 |-- createPhar.php
 `-- bootstrap.php
bootstrap.php

Losbootstrap.phpl archivo @ contiene esto:

<?php
print phpversion() . PHP_EOL;
print 'i am some script' . PHP_EOL;

Cuando ejecuto este script desde mi línea de comandos de Ubuntu:

# cd MyProject 
# php bootstrap.php

Obtengo el siguiente resultado:

5.3.2-1ubuntu4.9
i am some script
createPhar.php

El archivo createPhar.php está destinado a convertir el proyecto en un archivo Phar. Se parece a esto

<?php    
$phar = new Phar('MyProject.phar');
$phar->addFile('bootstrap.php');
$phar->setStub( $phar->createDefaultStub('bootstrap.php') );

Cuando ejecuto ese script ...

# php createPhar.php

... un nuevo archivo llamadoMyProject.phar se crea en el directorio de mi proyecto.

|-- bootstrap.php
|-- createPhar.php
`-- MyProject.phar
Ahora este es el problema

Cuando ejecuto el archivo phar ...

# php MyProject.phar 

... espero ver el mismo resultado que obtuve cuando ejecuté elbootstrap.php script.

En cambio, no veo nada. No hay salida en absoluto. Esto implica que mibootstrap.phpa secuencia de comandos predeterminada no está incluida en el código auxiliar predeterminado creado por$phar->createDefaultStub('bootstrap.php')

Creo que no entiendo cómo se están creando Phars y sus trozos. ¿Podría, por favor, explicar dónde me he equivocado?

Respuestas a la pregunta(2)

Su respuesta a la pregunta