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.phpLosbootstrap.php
l 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.phpEl 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 problemaCuando 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.php
a 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?